From b54b764c72a1343770469aef9bf651a42b2f71a7 Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Sun, 12 Jul 2009 03:53:52 +0000 Subject: [PATCH] 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) --- sys/nfs/nfs_common.c | 5 ++--- 1 file 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;