On Thu, Apr 17, 2014 at 12:09:43PM -0700, Steven King wrote: > On Wednesday 16 April 2014 6:49:11 pm Joonsoo Kim wrote: > > On Wed, Apr 16, 2014 at 10:44:11AM -0700, Steven King wrote: > > > On Wednesday 16 April 2014 9:06:57 am Geert Uytterhoeven wrote: > > > > Hi Steven, > > > > > > > > On Wed, Apr 16, 2014 at 5:47 PM, Steven King <sfk...@fdwdc.com> wrote: > > > > > --- a/mm/slab.c > > > > > +++ b/mm/slab.c > > > > > @@ -2572,13 +2572,13 @@ static void *alloc_slabmgmt(struct kmem_cache > > > > > *cachep, return freelist; > > > > > } > > > > > > > > > > -static inline freelist_idx_t get_free_obj(struct page *page, > > > > > unsigned char idx) +static inline freelist_idx_t get_free_obj(struct > > > > > page *page, unsigned int idx) { > > > > > return ((freelist_idx_t *)page->freelist)[idx]; > > > > > } > > > > > > > > > > static inline void set_free_obj(struct page *page, > > > > > - unsigned char idx, > > > > > freelist_idx_t val) + unsigned > > > > > int idx, freelist_idx_t val) { > > > > > ((freelist_idx_t *)(page->freelist))[idx] = val; > > > > > } > > > > > > > > > > > > > > > then v3.15-rc1 will boot using the slab allocator. > > > > > > > > Is "idx" ever larger than 255? > > > > > > > > Gr{oetje,eeting}s, > > > > > > Yes. If I stick > > > > > > if (idx > 255) > > > pr_info("%s %d\n", __func__, idx); > > > > > > in get_free_obj and set_free_obj and see values for idx up into the 400s. > > > > Hello, > > > > Yes, it's my mistake. idx can be larger than 255 if freelist_idx_t is > > unsigned short. So unsigned char idx isn't appropriate here. Your > > system's PAGE_SIZE may be 2^13, so freelist_idx_t would be unsigned short > > and idx will be larger than 255. > > > > Your fix looks good to me, so could you send it quickly to Pekka with > > some description? If you don't have enough time to do it, I can handle it. > > > > Really thanks for notifying this issue. > > > > Thanks. > > Why don't you go ahead and do it, you know whats going better than I do.
Okay. I sent it with some description. See following link if you want to check. https://lkml.org/lkml/2014/4/18/28 Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/