On Mon, Jan 28, 2013 at 11:01:28AM -0600, Seth Jennings wrote: > On 01/27/2013 09:39 PM, Minchan Kim wrote: > > Hi Seth, > > > > On Fri, Jan 25, 2013 at 11:46:15AM -0600, Seth Jennings wrote: > >> zs_create_pool() currently takes a gfp flags argument > >> that is used when growing the memory pool. However > >> it is not used in allocating the metadata for the pool > >> itself. That is currently hardcoded to GFP_KERNEL. > >> > >> zswap calls zs_create_pool() at swapon time which is done > >> in atomic context, resulting in a "might sleep" warning. > >> > >> This patch changes the meaning of the flags argument in > >> zs_create_pool() to mean the flags for the metadata allocation, > >> and adds a flags argument to zs_malloc that will be used for > >> memory pool growth if required. > > > > As I mentioned, I'm not strongly against with this patch but it > > should be last resort in case of not being able to address > > frontswap's init routine's dependency with swap_lock. > > > > I sent a patch and am waiting reply of Konrand or Dan. > > If we can fix frontswap, it would be better rather than > > changing zsmalloc. > > I agree that moving the call to frontswap_init() out of the swap_lock > would be a good thing. However, it doesn't mean that we still > shouldn't allow the users to control the gfp mask for the allocation > done by zs_create_pool(). While moving the frontswap_init() outside > the lock removes the _need_ for this patch, I think that is it good > API design to allow the user to specify the gfp mask. I agree but we can do it when we have needs. If we can remove swap_lock dependency of frontswap, your needs would go away so we could add gfp argument next time if someone give us their needs. > > Seth > > -- > 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/ -- Kind regards, Minchan Kim _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel