[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060927172355.B12423@unix-os.sc.intel.com>
Date: Wed, 27 Sep 2006 17:23:55 -0700
From: "Siddha, Suresh B" <suresh.b.siddha@...el.com>
To: David Miller <davem@...emloft.net>
Cc: suresh.b.siddha@...el.com, akpm@...l.org, hugh@...itas.com,
linux-kernel@...r.kernel.org, asit.k.mallick@...el.com
Subject: Re: [patch] mm: fix a race condition under SMC + COW
On Wed, Sep 27, 2006 at 03:54:42PM -0700, David Miller wrote:
> You can't really do a set_pte_at() in this code path because
> there isn't a subsequent flush_tlb_*().
>
> This is needed because some architectures queue up all set_pte_at()
> calls until the next flush_tlb_*() in order to batch TLB flushes.
> PowerPC and Sparc64 both do this.
>
> The pte_establish() in the existing code works fine because it takes
> care of the set_pte_at() and flush_tlb_*() work internally when
> necessary on a given platform.
I am flushing the pte entry in ptep_clear_flush() and it is Ok not
to do another TLB flush after doing set_pte_at().
On Sparc64, this new set_pte_at() (after ptep_clear_flush) will not batch
any TLB flush as the previous pte contents were zero.
We are Ok with this patch, isn't it?
thanks,
suresh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists