diff options
author | marcel <marcel@FreeBSD.org> | 2009-07-12 03:53:52 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2009-07-12 03:53:52 +0000 |
commit | adf36bcfeec610af843f3052d2f841608a9e9093 (patch) | |
tree | 5744a17f2e68f9b39b81e9ee5affd4e4375841bf /sys/nfs | |
parent | 0c0e79f64e206dc5024b6bd64f8fb62ca80668fd (diff) | |
download | FreeBSD-src-adf36bcfeec610af843f3052d2f841608a9e9093.zip FreeBSD-src-adf36bcfeec610af843f3052d2f841608a9e9093.tar.gz |
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)
Diffstat (limited to 'sys/nfs')
-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 0869309..b2c231f 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; |