Re: [patch 1/2] fix call to alloc_bootmem after bootmem has been freed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 21 Nov 2006 19:02:13 +0100
Christian Krafft <[email protected]> wrote:

> > > Index: linux/mm/page_alloc.c
> > > ===================================================================
> > > --- linux.orig/mm/page_alloc.c
> > > +++ linux/mm/page_alloc.c
> > > @@ -1931,7 +1931,7 @@ int zone_wait_table_init(struct zone *zo
> > >  	alloc_size = zone->wait_table_hash_nr_entries
> > >  					* sizeof(wait_queue_head_t);
> > >
> > > - 	if (system_state == SYSTEM_BOOTING) {
> > > +	if (!slab_is_available()) {
> > >  		zone->wait_table = (wait_queue_head_t *)
> > >  			alloc_bootmem_node(pgdat, alloc_size);
> > >  	} else {
> > 
> > I don't think that slab_is_available() is an appropriate way of working out
> > if we can call vmalloc().
> 
> Afaik slab_is_available() is the generic replacement for mem_init_done, which exists only on powerpc. 
> If thats not appropriate, I dont know why. However, SYSTEM_BOOTING is definitively wrong.

slab is a very different thing from vmalloc.  One could easily envisage
situations (now or in the future) in which slab is ready, but vmalloc is
not (more likely vice versa).

It'd be better to add a new vmalloc_is_available.  (Just an int - no need
for a helper function).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux