Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 16 Feb 2001 14:01:26 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 16 Feb 2001 14:01:16 -0500 Received: from neon-gw.transmeta.com ([209.10.217.66]:24850 "EHLO neon-gw.transmeta.com") by vger.kernel.org with ESMTP id ; Fri, 16 Feb 2001 14:01:07 -0500 Date: Fri, 16 Feb 2001 11:00:41 -0800 (PST) From: Linus Torvalds To: Manfred Spraul cc: Jamie Lokier , linux-kernel@vger.kernel.org, bcrl@redhat.com Subject: Re: x86 ptep_get_and_clear question In-Reply-To: <3A8D764B.9CD6B3A8@colorfullife.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 16 Feb 2001, Manfred Spraul wrote: > > That leaves msync() - it currently does a flush_tlb_page() for every > single dirty page. > Is it possible to integrate that into the mmu gather code? Not even necessary. The D bit does not have to be coherent. We need to make sure that we flush the TLB before we start the IO on the pages which clears the per-physical D bit (so that no CPU will have done any modifications that didn't show up in one of the D bits - whther virtual in the page tables or physical in the memory map), but there are no other real requirements. So you don't strictly need to gather them at all, although right now with the type of setup we have I suspect it's hard to actually implement any other way (because msync doesn't necessarily know when the IO has been physically started and has no good way of hooking into it..). Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/