From owner-svn-src-all@FreeBSD.ORG Sun Jul 12 03:53:52 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7AFD81065675; Sun, 12 Jul 2009 03:53:52 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 690F68FC18; Sun, 12 Jul 2009 03:53:52 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n6C3rqXM071586; Sun, 12 Jul 2009 03:53:52 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n6C3rqeD071584; Sun, 12 Jul 2009 03:53:52 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <200907120353.n6C3rqeD071584@svn.freebsd.org> From: Marcel Moolenaar Date: Sun, 12 Jul 2009 03:53:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195631 - head/sys/nfs X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Jul 2009 03:53:53 -0000 Author: marcel Date: Sun Jul 12 03:53:52 2009 New Revision: 195631 URL: http://svn.freebsd.org/changeset/base/195631 Log: 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) Modified: head/sys/nfs/nfs_common.c Modified: head/sys/nfs/nfs_common.c ============================================================================== --- head/sys/nfs/nfs_common.c Sun Jul 12 03:19:25 2009 (r195630) +++ head/sys/nfs/nfs_common.c Sun Jul 12 03:53:52 2009 (r195631) @@ -126,10 +126,9 @@ nfsm_mbuftouio(struct mbuf **mrep, struc (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;