Re: remove mixture of non-atomic operations with page->flags which requires atomic operations to access

From: Hugh Dickins (hugh@veritas.com)
Date: Mon Jun 03 2002 - 05:14:43 EST


On Sun, 2 Jun 2002, William Lee Irwin III wrote:
> page->flags is effectively a lock word as its various bits are updatable
> and accessible only by atomic operations. This patch removes the update
> of page->flags in __free_pages_ok() with non-atomic operations in favor
> of using atomic bit operations to update the bits to be cleared.
>
> ClearPageDirty(page);
> - page->flags &= ~(1<<PG_referenced);
> + ClearPageUptodate(page);
> + ClearPageSlab(page);
> + ClearPageNosave(page);
> + ClearPageChecked(page);

Don't all those atomic volatile bitops slow down a hotpath for no real
gain? I'm all for clearing all possible flag bits at that point, but
would prefer just one mask myself. But given all the preceding tests,
and the ClearPageDirty, perhaps I'm foolish to question your additions.

And wasn't it originally clearing the referenced bit, now leaving it?

Hugh

-
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/



This archive was generated by hypermail 2b29 : Fri Jun 07 2002 - 22:00:14 EST