Re: init_emergency_isa_pool calling mempool_create in non-sleeping context
From: Mike Snitzer <hidden>
Date: 2009-06-17 22:42:35
Also in:
dm-devel, lkml
On Wed, Jun 17 2009 at 6:22pm -0400, NeilBrown [off-list ref] wrote:
You wanted dm-devel@redhat.com, not linux-raid@vger.kernel.org. NeilBrown On Thu, June 18, 2009 7:35 am, Jeremy Fitzhardinge wrote:quoted
I just saw this when booting a current linux-2.6.git kernel (3fe0344faf7fdcb158bd5c1a9aec960a8d70c8e8). .config and full bootlog attached. BUG: sleeping function called from invalid context at /home/jeremy/git/linux/mm/slab.c:3029 in_atomic(): 1, irqs_disabled(): 0, pid: 388, name: lvm Pid: 388, comm: lvm Not tainted 2.6.30 #225 Call Trace: [<ffffffff81137a65>] ? __init_rwsem+0x29/0x39 [<ffffffff81035346>] __might_sleep+0x110/0x112 [<ffffffff810acf07>] kmem_cache_alloc+0x38/0x12b [<ffffffff810a71d4>] ? mempool_alloc_pages_isa+0x0/0x10 [<ffffffff8108a5df>] mempool_create_node+0x2f/0x152 [<ffffffff8108a31c>] ? mempool_free_pages+0x0/0xb [<ffffffff8108a70f>] mempool_create+0xd/0xf [<ffffffff810a71ad>] init_emergency_isa_pool+0x28/0x4f [<ffffffff81127b90>] blk_queue_bounce_limit+0x40/0x56 [<ffffffffa00f856c>] dm_table_set_restrictions+0x82/0xa6 [dm_mod] [<ffffffffa00f6415>] dm_swap_table+0x132/0x15a [dm_mod] [<ffffffffa00faf61>] dev_suspend+0xfd/0x177 [dm_mod] [<ffffffffa00fb959>] dm_ctl_ioctl+0x252/0x2a2 [dm_mod] [<ffffffffa00fae64>] ? dev_suspend+0x0/0x177 [dm_mod] [<ffffffff810bd4c0>] vfs_ioctl+0x2a/0x77 [<ffffffff810bd9b4>] do_vfs_ioctl+0x4a7/0x4fa [<ffffffff810bda5e>] sys_ioctl+0x57/0x7a [<ffffffff81011042>] system_call_fastpath+0x16/0x1b
This has been resolved and is waiting to be pushed along with the rest of the DM changes for 2.6.31. See: ftp://ftp.kernel.org/pub/linux/kernel/people/agk/patches/2.6/editing/dm-table-establish-queue-limits-by-copying-table-limits.patch Maybe this fix should go now rather than wait a day or so for the larger DM push? Mike