diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-02-15 23:45:24 -0800 |
---|---|---|
committer | Christoph Lameter <clameter@sgi.com> | 2008-03-03 12:22:30 -0800 |
commit | e153362a50a34439718a938a851bba977116e19a (patch) | |
tree | c8c4b19d13435f9d94ba92eb0c1ab1d8ff25c31a /mm/slub.c | |
parent | d9acf4b7b62d783d84273a61aed41a0f025b08ac (diff) | |
download | lwn-e153362a50a34439718a938a851bba977116e19a.tar.gz lwn-e153362a50a34439718a938a851bba977116e19a.zip |
slub: Remove objsize check in kmem_cache_flags()
There is no page->offset anymore and also no associated limit on the number
of objects. The page->offset field was removed for 2.6.24. So the check
in kmem_cache_flags() is now also obsolete (should have been dropped
earlier, somehow a hunk vanished).
Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-by: Christoph Lameter <clameter@sgi.com>
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/mm/slub.c b/mm/slub.c index e01d399894c4..d7d0d866b6b2 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -997,30 +997,11 @@ static unsigned long kmem_cache_flags(unsigned long objsize, void (*ctor)(struct kmem_cache *, void *)) { /* - * The page->offset field is only 16 bit wide. This is an offset - * in units of words from the beginning of an object. If the slab - * size is bigger then we cannot move the free pointer behind the - * object anymore. - * - * On 32 bit platforms the limit is 256k. On 64bit platforms - * the limit is 512k. - * - * Debugging or ctor may create a need to move the free - * pointer. Fail if this happens. + * Enable debugging if selected on the kernel commandline. */ - if (objsize >= 65535 * sizeof(void *)) { - BUG_ON(flags & (SLAB_RED_ZONE | SLAB_POISON | - SLAB_STORE_USER | SLAB_DESTROY_BY_RCU)); - BUG_ON(ctor); - } else { - /* - * Enable debugging if selected on the kernel commandline. - */ - if (slub_debug && (!slub_debug_slabs || - strncmp(slub_debug_slabs, name, - strlen(slub_debug_slabs)) == 0)) - flags |= slub_debug; - } + if (slub_debug && (!slub_debug_slabs || + strncmp(slub_debug_slabs, name, strlen(slub_debug_slabs)) == 0)) + flags |= slub_debug; return flags; } |