|| ||Andy Whitcroft <firstname.lastname@example.org>|
|| ||[PATCH 0/3] explicitly document overloaded page flags V2|
|| ||Fri, 23 May 2008 17:33:01 +0100|
|| ||Andrew Morton <email@example.com>,
Christoph Lameter <firstname.lastname@example.org>,
KAMEZAWA Hiroyuki <email@example.com>,
KOSAKI Motohiro <firstname.lastname@example.org>,
Rik van Riel <email@example.com>,
Jeremy Fitzhardinge <firstname.lastname@example.org>,
With the recent page flag reorganisation we have a single enum which
defines the valid page flags and their values, nice and clear. However
there are a number of bits which are overloaded by different subsystems.
Firstly there is PG_owner_priv_1 which is used by filesystems and by XEN.
Secondly both SLOB and SLUB use a couple of extra page bits to manage
internal state for pages they own; both overlay other bits. All of these
"aliases" are scattered about the source making it very hard for a reader
to know if the bits are safe to rely on in all contexts; confusion here
As we now have a single place where the bits are clearly assigned it makes
sense to clarify the reuse of bits by making the aliases explicit and
visible with the original bit assignments. This patch creates explicit
aliases within the enum itself for the overloaded bits, creates standard
bit accessors PageFoo etc. and uses those throughout.
This version pulls the bit manipulation out to standard named page bit
accessors as suggested by Christoph, it retains the explicit mapping to
the overlayed bits. A fusion of both ideas. This has been SLUB and
SLOB have been compile tested on x86_64 only, and SLUB boot tested.
If people feel this is worth doing then I can run a fuller set of testing.