diff options
author | Marcel Moolenaar <marcel@FreeBSD.org> | 2009-07-12 03:53:52 +0000 |
---|---|---|
committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2009-07-12 03:53:52 +0000 |
commit | b54b764c72a1343770469aef9bf651a42b2f71a7 (patch) | |
tree | 5744a17f2e68f9b39b81e9ee5affd4e4375841bf /sys/nfs/nfs_common.c | |
parent | 79bc145130ff4eca53885fece3e627751fddbdd7 (diff) | |
download | src-b54b764c72a1343770469aef9bf651a42b2f71a7.tar.gz src-b54b764c72a1343770469aef9bf651a42b2f71a7.zip |
Revert rev 192323 (nfs_common.c only):
The D-cache flushing added here was to deal with I-cache
incoherency observed on ia64. However, the problem was
in the implementation of pmap_enter_object() for ia64:
it was missing I-cache coherency logic for prefaulted
pages. After this got added in rev 195625, testing showed
that no D-cache flushing was required.
The SIGILL that was observed on Book-E (see commit log
for rev 192323) ended up not being related to I-cache
incoherency, but was found to be caused by bad memory.
This discovery further undermined the need for D-cache
flushing in the NFS I/O code, triggering the reversal.
Approved by: re (kensmith)
Notes
Notes:
svn path=/head/; revision=195631
Diffstat (limited to 'sys/nfs/nfs_common.c')
-rw-r--r-- | sys/nfs/nfs_common.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/nfs/nfs_common.c b/sys/nfs/nfs_common.c index 086930945596..b2c231fc61e5 100644 --- a/sys/nfs/nfs_common.c +++ b/sys/nfs/nfs_common.c @@ -126,10 +126,9 @@ nfsm_mbuftouio(struct mbuf **mrep, struct uio *uiop, int siz, caddr_t *dpos) (mbufcp, uiocp, xfer); else #endif - if (uiop->uio_segflg == UIO_SYSSPACE) { + if (uiop->uio_segflg == UIO_SYSSPACE) bcopy(mbufcp, uiocp, xfer); - cpu_flush_dcache(uiocp, xfer); - } else + else copyout(mbufcp, uiocp, xfer); left -= xfer; len -= xfer; |