Re: slub-i386-support.patch

From: William Lee Irwin III
Date: Fri May 11 2007 - 03:43:08 EST


On Thu, 10 May 2007, William Lee Irwin III wrote:
>> Looking more closely at it, the entire attempt to avoid struct page
>> pointers is far beyond pointless. The freeing functions unconditionally
>> require struct page pointers to either be passed or computed and the
>> allocation function's virtual address it returns as a result is not
>> directly usable. The callers all have to do arithmetic on the result.
>> One might as well stash precomputed pfn's (if not paddrs) and vaddrs in
>> page->private and page->mapping, chain them with ->lru (use only .next
>> if you care to stay singly-linked), and handle struct page pointers

On Thu, May 10, 2007 at 10:09:32PM -0700, Christoph Lameter wrote:
> Well then you'd have to rewrite the existing ways of fiddling with page
> structs. This way all is clear and you fiddle as you want. It just works.
> Could we get this in? You acked it once already?

I guess I can say I'm microoptimizing things by getting rid of the
lock. I can also do without mucking with fields in the page or
generation numbers given a method of dumping the entire cache for such
catastrophic reorganizations, which is actually better because it makes
change_page_attr() and vmalloc_sync() bear the entire cost, apart from
the loss of the cache in their aftermath. I'll post one of those two in
a follow-up.


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