Messages in this thread | | | Subject | Re: [ckrm-tech] [RFC][PATCH 5/7] UBC: kernel memory accounting (core) | From | Alan Cox <> | Date | Fri, 18 Aug 2006 21:52:50 +0100 |
| |
Ar Gwe, 2006-08-18 am 12:32 -0700, ysgrifennodd Dave Hansen: > > It ought to be cheap. Given each set of page structs is an array its a > > simple subtract and divide (or with care and people try to pack them > > nicely for cache lines - shift) to get to the parallel accounting array. > > I wish page structs were just a simple array. ;)
Note I very carefully said "each set of"
> It will just be a bit more code, but we'll need this for the two other > memory models: sparsemem and discontigmem. For discontig, we'll just > need pointers in the pg_data_ts and, for sparsemem, we'll likely need > another pointer in the 'struct mem_section'.
Actually I don't believe this is true in either case. Change the code which allocates the page arrays to allocate (+ sizeof(void *) * pages_in_array on the end of each array when using UBC. The rest then seems to come out naturally.
Alan
- 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/
| |