Re: [patch 3/3] mm: fix PageUptodate memorder

From: Andrew Morton
Date: Sun Feb 25 2007 - 07:07:39 EST



What an unpleasing patchset. I really really hope we really have a bug in
there, and that all this crap isn't pointless uglification.

We _do_ need a flush_dcaceh_page() in all cases which you're concerned
about. Perhaps we should stick the appropriate barriers in there.

> On Thu, 15 Feb 2007 08:31:31 +0100 (CET) Nick Piggin <npiggin@xxxxxxx> wrote:
> +static inline void SetNewPageUptodate(struct page *page)
> +{
> + /*
> + * S390 sets page dirty bit on IO operations, which is why it is
> + * cleared in SetPageUptodate. This is not an issue for newly
> + * allocated pages that are brought uptodate by zeroing memory.
> + */
> + smp_wmb();
> + __set_bit(PG_uptodate, &(page)->flags);
> +}

__SetPageUptodate() might be more conventional.

Boy we'd better get the callers of this little handgrenade right.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/