From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261581AbULBLRk (ORCPT ); Thu, 2 Dec 2004 06:17:40 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261584AbULBLRh (ORCPT ); Thu, 2 Dec 2004 06:17:37 -0500 Received: from gate.crashing.org ([63.228.1.57]:4268 "EHLO gate.crashing.org") by vger.kernel.org with ESMTP id S261581AbULBLRb (ORCPT ); Thu, 2 Dec 2004 06:17:31 -0500 Subject: Re: page fault scalability patch V12 [0/7]: Overview and performance tests From: Benjamin Herrenschmidt To: Jeff Garzik Cc: Andrew Morton , Linus Torvalds , Linux Kernel list , list linux-ide In-Reply-To: <41AEC021.8040000@pobox.com> References: <41AEB44D.2040805@pobox.com> <20041201223441.3820fbc0.akpm@osdl.org> <41AEBD95.7030804@pobox.com> <1101971149.5593.64.camel@gaston> <41AEC021.8040000@pobox.com> Content-Type: text/plain Date: Thu, 02 Dec 2004 22:16:24 +1100 Message-Id: <1101986184.14597.75.camel@gaston> Mime-Version: 1.0 X-Mailer: Evolution 2.0.2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2004-12-02 at 02:11 -0500, Jeff Garzik wrote: > Benjamin Herrenschmidt wrote: > > They may not end up in order if they are stores (the stores to the > > taskfile may be out of order vs; the loads/stores to/from the data > > register) unless you have a spinlock protecting both or a full sync (on > > ppc), but then, I don't know the ordering things on x86_64. This could > > certainly be a problem on ppc & ppc64 too. > > > Is synchronization beyond in[bwl] needed, do you think? Yes, when potentially hop'ing between CPUs, definitely. > This specific problem is only on Intel ICHx AFAICS, which is PIO not > MMIO and x86-only. I presumed insw() by its very nature already has > synchronization, but perhaps not... Hrm... on "pure" x86, I would expect so at the HW level, not sure about x86_64... but there would be definitely an issue on ppc with your scheme. You need at least a full barrier before you trigger the workqueue. That may not be the problem you are facing now, but it would become one. Ben.