Bug 36202 - sleeping function called from invalid context
Summary: sleeping function called from invalid context
Status: RESOLVED OBSOLETE
Alias: None
Product: Memory Management
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Andrew Morton
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-30 08:07 UTC by Hans de Goede
Modified: 2012-08-24 12:49 UTC (History)
1 user (show)

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Hans de Goede 2011-05-30 08:07:34 UTC
Lately I've got several backtraces related to "sleeping function called from invalid context", this happens with both fedora provided kernels, both:
2.6.39-0.rc7.git6.1.fc16.x86_64 and 2.6.39-1.fc16.x86_64. I'll copy paste one backtrace per comment here to keep the begin / start of each trace clearly separated. First a bunch of backtraces from 2.6.39-0.rc7.git6.1.fc16.x86_64, starting with:

May 23 11:24:47 shalem kernel: [ 4156.296806] BUG: sleeping function called
from invalid context at kernel/cpuset.c:2352
May 23 11:24:47 shalem kernel: [ 4156.296812] in_atomic(): 0, irqs_disabled():
1, pid: 1007, name: flush-8:16
May 23 11:24:47 shalem kernel: [ 4156.296815] Pid: 1007, comm: flush-8:16 Not
tainted 2.6.39-0.rc7.git6.1.fc16.x86_64 #1
May 23 11:24:47 shalem kernel: [ 4156.296817] Call Trace:
May 23 11:24:47 shalem kernel: [ 4156.296833]  [<ffffffff81046920>]
__might_sleep+0xeb/0xf0
May 23 11:24:47 shalem kernel: [ 4156.296839]  [<ffffffff81096752>]
__cpuset_node_allowed_softwall+0x5e/0x122
May 23 11:24:47 shalem kernel: [ 4156.296843]  [<ffffffff810dc778>]
get_page_from_freelist+0x144/0x64e
May 23 11:24:47 shalem kernel: [ 4156.296846]  [<ffffffff810dc9e6>] ?
get_page_from_freelist+0x3b2/0x64e
May 23 11:24:47 shalem kernel: [ 4156.296848]  [<ffffffff810dcfdc>]
__alloc_pages_nodemask+0x35a/0x7ef
May 23 11:24:47 shalem kernel: [ 4156.296855]  [<ffffffff8110725a>]
alloc_pages_current+0xbe/0xd8
May 23 11:24:47 shalem kernel: [ 4156.296859]  [<ffffffff8110e587>]
alloc_slab_page+0x1c/0x4d
May 23 11:24:47 shalem kernel: [ 4156.296861]  [<ffffffff8110fc31>]
new_slab+0x4f/0x197
May 23 11:24:47 shalem kernel: [ 4156.296867]  [<ffffffff81475be6>]
__slab_alloc+0x269/0x350
May 23 11:24:47 shalem kernel: [ 4156.296872]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 23 11:24:47 shalem kernel: [ 4156.296874]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 23 11:24:47 shalem kernel: [ 4156.296876]  [<ffffffff81110442>]
kmem_cache_alloc+0x6e/0x10a
May 23 11:24:47 shalem kernel: [ 4156.296879]  [<ffffffff810d8365>]
mempool_alloc_slab+0x15/0x17
May 23 11:24:47 shalem kernel: [ 4156.296881]  [<ffffffff810d85da>]
mempool_alloc+0x68/0x116
May 23 11:24:47 shalem kernel: [ 4156.296885]  [<ffffffff812fb125>] ?
scsi_pool_alloc_command+0x43/0x68
May 23 11:24:47 shalem kernel: [ 4156.296888]  [<ffffffff81301f11>]
scsi_sg_alloc+0x2d/0x2f
May 23 11:24:47 shalem kernel: [ 4156.296893]  [<ffffffff81237b7f>]
__sg_alloc_table+0x63/0x11c
May 23 11:24:47 shalem kernel: [ 4156.296895]  [<ffffffff81301ee4>] ?
scsi_sg_free+0x2f/0x2f
May 23 11:24:47 shalem kernel: [ 4156.296897]  [<ffffffff81301f3d>]
scsi_alloc_sgtable+0x2a/0x4f
May 23 11:24:47 shalem kernel: [ 4156.296899]  [<ffffffff81301f83>]
scsi_init_sgtable+0x21/0x61
May 23 11:24:47 shalem kernel: [ 4156.296901]  [<ffffffff81301ff5>]
scsi_init_io+0x32/0x13b
May 23 11:24:47 shalem kernel: [ 4156.296904]  [<ffffffff81302204>]
scsi_setup_fs_cmnd+0x87/0x8c
May 23 11:24:47 shalem kernel: [ 4156.296908]  [<ffffffff8130acac>]
sd_prep_fn+0x301/0xbf3
May 23 11:24:47 shalem kernel: [ 4156.296915]  [<ffffffff812285be>] ?
cfq_dispatch_requests+0x753/0x8c2
May 23 11:24:47 shalem kernel: [ 4156.296918]  [<ffffffff8121a0f9>]
blk_peek_request+0xdb/0x17b
May 23 11:24:47 shalem kernel: [ 4156.296920]  [<ffffffff81301af3>]
scsi_request_fn+0x7d/0x409
May 23 11:24:47 shalem kernel: [ 4156.296925]  [<ffffffff81214e1b>]
__blk_run_queue+0x1b/0x1d
May 23 11:24:47 shalem kernel: [ 4156.296927]  [<ffffffff8121a532>]
__make_request+0x29b/0x2b8
May 23 11:24:47 shalem kernel: [ 4156.296930]  [<ffffffff81219118>]
generic_make_request+0x2a9/0x323
May 23 11:24:47 shalem kernel: [ 4156.296935]  [<ffffffff811471bc>] ?
bvec_alloc_bs+0xae/0xcc
May 23 11:24:47 shalem kernel: [ 4156.296938]  [<ffffffff81110442>] ?
kmem_cache_alloc+0x6e/0x10a
May 23 11:24:47 shalem kernel: [ 4156.296940]  [<ffffffff81219270>]
submit_bio+0xde/0xfd
May 23 11:24:47 shalem kernel: [ 4156.296944]  [<ffffffff810eb5b1>] ?
inc_zone_page_state+0x27/0x29
May 23 11:24:47 shalem kernel: [ 4156.296947]  [<ffffffff810dd6c1>] ?
account_page_writeback+0x25/0x29
May 23 11:24:47 shalem kernel: [ 4156.296950]  [<ffffffff81230038>] ?
radix_tree_gang_lookup_slot+0x66/0x87
May 23 11:24:47 shalem kernel: [ 4156.296953]  [<ffffffff8119b1d8>]
ext4_io_submit+0x2c/0x58
May 23 11:24:47 shalem kernel: [ 4156.296955]  [<ffffffff8119b380>]
ext4_bio_write_page+0x17c/0x320
May 23 11:24:47 shalem kernel: [ 4156.296958]  [<ffffffff81196432>]
mpage_da_submit_io+0x306/0x389
May 23 11:24:47 shalem kernel: [ 4156.296961]  [<ffffffff81199e44>]
mpage_da_map_and_submit+0x2b7/0x2cd
May 23 11:24:47 shalem kernel: [ 4156.296963]  [<ffffffff81199f28>]
mpage_add_bh_to_extent+0xce/0xdd
May 23 11:24:47 shalem kernel: [ 4156.296965]  [<ffffffff8103fdbb>] ?
should_resched+0xe/0x2d
May 23 11:24:47 shalem kernel: [ 4156.296967]  [<ffffffff8119a177>]
write_cache_pages_da+0x240/0x325
May 23 11:24:47 shalem kernel: [ 4156.296969]  [<ffffffff8119a502>]
ext4_da_writepages+0x2a6/0x44d
May 23 11:24:47 shalem kernel: [ 4156.296972]  [<ffffffff810de978>]
do_writepages+0x21/0x2a
May 23 11:24:47 shalem kernel: [ 4156.296976]  [<ffffffff8113ddff>]
writeback_single_inode+0xb2/0x1bc
May 23 11:24:47 shalem kernel: [ 4156.296978]  [<ffffffff8113e14b>]
writeback_sb_inodes+0xcd/0x161
May 23 11:24:47 shalem kernel: [ 4156.296980]  [<ffffffff8113e64f>]
writeback_inodes_wb+0x119/0x12b
May 23 11:24:47 shalem kernel: [ 4156.296982]  [<ffffffff8113e84f>]
wb_writeback+0x1ee/0x335
May 23 11:24:47 shalem kernel: [ 4156.296985]  [<ffffffff81080d17>] ?
arch_local_irq_save+0x15/0x1b
May 23 11:24:47 shalem kernel: [ 4156.296989]  [<ffffffff8147beb2>] ?
_raw_spin_lock_irqsave+0x12/0x2f
May 23 11:24:47 shalem kernel: [ 4156.296991]  [<ffffffff8113ea1c>]
wb_do_writeback+0x86/0x19d
May 23 11:24:47 shalem kernel: [ 4156.296995]  [<ffffffff81060268>] ?
del_timer+0x7a/0x7a
May 23 11:24:47 shalem kernel: [ 4156.296998]  [<ffffffff8113ebbb>]
bdi_writeback_thread+0x88/0x1e5
May 23 11:24:47 shalem kernel: [ 4156.297000]  [<ffffffff8113eb33>] ?
wb_do_writeback+0x19d/0x19d
May 23 11:24:47 shalem kernel: [ 4156.297004]  [<ffffffff8106e287>]
kthread+0x84/0x8c
May 23 11:24:47 shalem kernel: [ 4156.297008]  [<ffffffff814837a4>]
kernel_thread_helper+0x4/0x10
May 23 11:24:47 shalem kernel: [ 4156.297010]  [<ffffffff8106e203>] ?
kthread_worker_fn+0x148/0x148
May 23 11:24:47 shalem kernel: [ 4156.297012]  [<ffffffff814837a0>] ?
gs_change+0x13/0x13
Comment 1 Hans de Goede 2011-05-30 08:07:53 UTC
May 23 12:06:14 shalem kernel: [ 6642.961423] BUG: sleeping function called
from invalid context at kernel/cpuset.c:2352
May 23 12:06:14 shalem kernel: [ 6642.961427] in_atomic(): 0, irqs_disabled():
1, pid: 7975, name: rpm
May 23 12:06:14 shalem kernel: [ 6642.961429] Pid: 7975, comm: rpm Not tainted
2.6.39-0.rc7.git6.1.fc16.x86_64 #1
May 23 12:06:14 shalem kernel: [ 6642.961431] Call Trace:
May 23 12:06:14 shalem kernel: [ 6642.961439]  [<ffffffff81046920>]
__might_sleep+0xeb/0xf0
May 23 12:06:14 shalem kernel: [ 6642.961443]  [<ffffffff81096752>]
__cpuset_node_allowed_softwall+0x5e/0x122
May 23 12:06:14 shalem kernel: [ 6642.961446]  [<ffffffff810dc778>]
get_page_from_freelist+0x144/0x64e
May 23 12:06:14 shalem kernel: [ 6642.961449]  [<ffffffff8147bf04>] ?
_raw_spin_unlock_irqrestore+0x17/0x19
May 23 12:06:14 shalem kernel: [ 6642.961452]  [<ffffffff810d85da>] ?
mempool_alloc+0x68/0x116
May 23 12:06:14 shalem kernel: [ 6642.961455]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 23 12:06:14 shalem kernel: [ 6642.961457]  [<ffffffff810dcfdc>]
__alloc_pages_nodemask+0x35a/0x7ef
May 23 12:06:14 shalem kernel: [ 6642.961460]  [<ffffffff81475665>] ?
get_partial_node+0x69/0x74
May 23 12:06:14 shalem kernel: [ 6642.961462]  [<ffffffff81475a35>] ?
__slab_alloc+0xb8/0x350
May 23 12:06:14 shalem kernel: [ 6642.961464]  [<ffffffff810d8300>] ?
mempool_free_pages+0x10/0x10
May 23 12:06:14 shalem kernel: [ 6642.961468]  [<ffffffff8110725a>]
alloc_pages_current+0xbe/0xd8
May 23 12:06:14 shalem kernel: [ 6642.961471]  [<ffffffff81230f9a>] ?
rb_insert_color+0x66/0xe1
May 23 12:06:14 shalem kernel: [ 6642.961474]  [<ffffffff8110e587>]
alloc_slab_page+0x1c/0x4d
May 23 12:06:14 shalem kernel: [ 6642.961476]  [<ffffffff8110fc31>]
new_slab+0x4f/0x197
May 23 12:06:14 shalem kernel: [ 6642.961478]  [<ffffffff81475be6>]
__slab_alloc+0x269/0x350
May 23 12:06:14 shalem kernel: [ 6642.961480]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 23 12:06:14 shalem kernel: [ 6642.961483]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 23 12:06:14 shalem kernel: [ 6642.961485]  [<ffffffff81110442>]
kmem_cache_alloc+0x6e/0x10a
May 23 12:06:14 shalem kernel: [ 6642.961487]  [<ffffffff810d8365>]
mempool_alloc_slab+0x15/0x17
May 23 12:06:14 shalem kernel: [ 6642.961489]  [<ffffffff810d85da>]
mempool_alloc+0x68/0x116
May 23 12:06:14 shalem kernel: [ 6642.961493]  [<ffffffff812194fc>]
get_request+0x19f/0x281
May 23 12:06:14 shalem kernel: [ 6642.961496]  [<ffffffff81219613>]
get_request_wait+0x35/0x18b
May 23 12:06:14 shalem kernel: [ 6642.961498]  [<ffffffff812270f3>] ?
cfq_merge+0x6b/0x94
May 23 12:06:14 shalem kernel: [ 6642.961501]  [<ffffffff812141ee>] ?
elv_merge+0xa2/0xae
May 23 12:06:14 shalem kernel: [ 6642.961503]  [<ffffffff8121a421>]
__make_request+0x18a/0x2b8
May 23 12:06:14 shalem kernel: [ 6642.961506]  [<ffffffff8111ad33>] ?
__mem_cgroup_commit_charge_lrucare+0xd3/0x139
May 23 12:06:14 shalem kernel: [ 6642.961509]  [<ffffffff81219118>]
generic_make_request+0x2a9/0x323
May 23 12:06:14 shalem kernel: [ 6642.961511]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 23 12:06:14 shalem kernel: [ 6642.961513]  [<ffffffff81219270>]
submit_bio+0xde/0xfd
May 23 12:06:14 shalem kernel: [ 6642.961517]  [<ffffffff81147226>] ?
bio_alloc_bioset+0x4c/0xc3
May 23 12:06:14 shalem kernel: [ 6642.961519]  [<ffffffff81142e8a>]
submit_bh+0xe6/0x105
May 23 12:06:14 shalem kernel: [ 6642.961520]  [<ffffffff8114350e>]
ll_rw_block+0x84/0xa3
May 23 12:06:14 shalem kernel: [ 6642.961522]  [<ffffffff811440a0>]
__breadahead+0x2e/0x39
May 23 12:06:14 shalem kernel: [ 6642.961525]  [<ffffffff81194098>]
__ext4_get_inode_loc+0x2c4/0x36d
May 23 12:06:14 shalem kernel: [ 6642.961527]  [<ffffffff811958b6>]
ext4_iget+0x58/0x64c
May 23 12:06:14 shalem kernel: [ 6642.961530]  [<ffffffff8119d687>]
ext4_lookup+0x93/0xf3
May 23 12:06:14 shalem kernel: [ 6642.961532]  [<ffffffff81128dda>]
d_alloc_and_lookup+0x45/0x6b
May 23 12:06:14 shalem kernel: [ 6642.961535]  [<ffffffff8112a10a>]
walk_component+0x188/0x328
May 23 12:06:14 shalem kernel: [ 6642.961538]  [<ffffffff811eb33e>] ?
security_inode_exec_permission+0x25/0x27
May 23 12:06:14 shalem kernel: [ 6642.961540]  [<ffffffff8112a446>]
link_path_walk+0x19c/0x436
May 23 12:06:14 shalem kernel: [ 6642.961542]  [<ffffffff8112a804>]
path_lookupat+0x5a/0x2e1
May 23 12:06:14 shalem kernel: [ 6642.961545]  [<ffffffff8103fdbb>] ?
should_resched+0xe/0x2d
May 23 12:06:14 shalem kernel: [ 6642.961547]  [<ffffffff8147a9cc>] ?
_cond_resched+0xe/0x22
May 23 12:06:14 shalem kernel: [ 6642.961550]  [<ffffffff81235a21>] ?
might_fault+0x21/0x23
May 23 12:06:14 shalem kernel: [ 6642.961552]  [<ffffffff8112b915>]
do_path_lookup+0x28/0x96
May 23 12:06:14 shalem kernel: [ 6642.961554]  [<ffffffff8112bd30>]
user_path_at+0x59/0x96
May 23 12:06:14 shalem kernel: [ 6642.961556]  [<ffffffff8147a9cc>] ?
_cond_resched+0xe/0x22
May 23 12:06:14 shalem kernel: [ 6642.961559]  [<ffffffff81123b77>] ?
might_fault+0x21/0x23
May 23 12:06:14 shalem kernel: [ 6642.961561]  [<ffffffff81123c70>] ?
cp_new_stat+0xf7/0x10d
May 23 12:06:14 shalem kernel: [ 6642.961563]  [<ffffffff81123e69>]
vfs_fstatat+0x44/0x6e
May 23 12:06:14 shalem kernel: [ 6642.961565]  [<ffffffff81123ece>]
vfs_stat+0x1b/0x1d
May 23 12:06:14 shalem kernel: [ 6642.961567]  [<ffffffff81123fcd>]
sys_newstat+0x1a/0x33
May 23 12:06:14 shalem kernel: [ 6642.961569]  [<ffffffff81128cd3>] ?
path_put+0x1f/0x23
May 23 12:06:14 shalem kernel: [ 6642.961572]  [<ffffffff8109c5b0>] ?
audit_syscall_entry+0x145/0x171
May 23 12:06:14 shalem kernel: [ 6642.961575]  [<ffffffff81482682>]
system_call_fastpath+0x16/0x1b
Comment 2 Hans de Goede 2011-05-30 08:08:09 UTC
May 24 10:05:39 shalem kernel: [ 4221.203770] BUG: sleeping function called
from invalid context at kernel/cpuset.c:2352
May 24 10:05:39 shalem kernel: [ 4221.203774] in_atomic(): 0, irqs_disabled():
1, pid: 1474, name: Xorg
May 24 10:05:39 shalem kernel: [ 4221.203777] Pid: 1474, comm: Xorg Not tainted
2.6.39-0.rc7.git6.1.fc16.x86_64 #1
May 24 10:05:39 shalem kernel: [ 4221.203779] Call Trace:
May 24 10:05:39 shalem kernel: [ 4221.203789]  [<ffffffff81046920>]
__might_sleep+0xeb/0xf0
May 24 10:05:39 shalem kernel: [ 4221.203793]  [<ffffffff81096752>]
__cpuset_node_allowed_softwall+0x5e/0x122
May 24 10:05:39 shalem kernel: [ 4221.203797]  [<ffffffff810dc778>]
get_page_from_freelist+0x144/0x64e
May 24 10:05:39 shalem kernel: [ 4221.203800]  [<ffffffff810e441d>] ?
shrink_active_list+0x29e/0x2b0
May 24 10:05:39 shalem kernel: [ 4221.203803]  [<ffffffff810dcfdc>]
__alloc_pages_nodemask+0x35a/0x7ef
May 24 10:05:39 shalem kernel: [ 4221.203808]  [<ffffffff8110725a>]
alloc_pages_current+0xbe/0xd8
May 24 10:05:39 shalem kernel: [ 4221.203810]  [<ffffffff811f0574>] ?
task_has_capability+0xad/0x10e
May 24 10:05:39 shalem kernel: [ 4221.203813]  [<ffffffff8110e587>]
alloc_slab_page+0x1c/0x4d
May 24 10:05:39 shalem kernel: [ 4221.203816]  [<ffffffff8110fc31>]
new_slab+0x4f/0x197
May 24 10:05:39 shalem kernel: [ 4221.203819]  [<ffffffff81475be6>]
__slab_alloc+0x269/0x350
May 24 10:05:39 shalem kernel: [ 4221.203823]  [<ffffffff81237c79>] ?
sg_kmalloc+0x24/0x26
May 24 10:05:39 shalem kernel: [ 4221.203825]  [<ffffffff8110ffcd>]
__kmalloc+0xa9/0x116
May 24 10:05:39 shalem kernel: [ 4221.203827]  [<ffffffff81237c79>] ?
sg_kmalloc+0x24/0x26
May 24 10:05:39 shalem kernel: [ 4221.203829]  [<ffffffff81237c79>]
sg_kmalloc+0x24/0x26
May 24 10:05:39 shalem kernel: [ 4221.203830]  [<ffffffff81237b7f>]
__sg_alloc_table+0x63/0x11c
May 24 10:05:39 shalem kernel: [ 4221.203832]  [<ffffffff81237c55>] ?
sg_kfree+0x1d/0x1d
May 24 10:05:39 shalem kernel: [ 4221.203834]  [<ffffffff81237ee2>]
sg_alloc_table+0x1f/0x45
May 24 10:05:39 shalem kernel: [ 4221.203839]  [<ffffffff812e0e9c>]
intel_gtt_map_memory+0x39/0x101
May 24 10:05:39 shalem kernel: [ 4221.203841]  [<ffffffff810e834f>] ?
shmem_readpage+0x3c/0x41
May 24 10:05:39 shalem kernel: [ 4221.203871]  [<ffffffffa00842dd>]
i915_gem_gtt_bind_object+0x4b/0xaa [i915]
May 24 10:05:39 shalem kernel: [ 4221.203878]  [<ffffffffa007dffd>]
i915_gem_object_bind_to_gtt+0x332/0x467 [i915]
May 24 10:05:39 shalem kernel: [ 4221.203887]  [<ffffffffa0080620>]
i915_gem_object_pin+0xc7/0x13c [i915]
May 24 10:05:39 shalem kernel: [ 4221.203889]  [<ffffffff810efcba>] ?
set_pte_at+0xe/0x12
May 24 10:05:39 shalem kernel: [ 4221.203896]  [<ffffffffa00828a5>]
i915_gem_execbuffer_reserve+0x1b1/0x2f7 [i915]
May 24 10:05:39 shalem kernel: [ 4221.203904]  [<ffffffffa0083158>]
i915_gem_do_execbuffer+0x470/0x1160 [i915]
May 24 10:05:39 shalem kernel: [ 4221.203911]  [<ffffffffa00840b8>] ?
i915_gem_execbuffer2+0x53/0x147 [i915]
May 24 10:05:39 shalem kernel: [ 4221.203913]  [<ffffffff8103fdbb>] ?
should_resched+0xe/0x2d
May 24 10:05:39 shalem kernel: [ 4221.203920]  [<ffffffffa008414a>]
i915_gem_execbuffer2+0xe5/0x147 [i915]
May 24 10:05:39 shalem kernel: [ 4221.203922]  [<ffffffff8103fdbb>] ?
should_resched+0xe/0x2d
May 24 10:05:39 shalem kernel: [ 4221.203932]  [<ffffffffa0023861>]
drm_ioctl+0x29e/0x37b [drm]
May 24 10:05:39 shalem kernel: [ 4221.203934]  [<ffffffff810efe17>] ?
pmd_offset+0x19/0x3f
May 24 10:05:39 shalem kernel: [ 4221.203940]  [<ffffffffa0084065>] ?
i915_gem_execbuffer+0x21d/0x21d [i915]
May 24 10:05:39 shalem kernel: [ 4221.203943]  [<ffffffff811ee5fe>] ?
file_has_perm+0xa7/0xc9
May 24 10:05:39 shalem kernel: [ 4221.203947]  [<ffffffff8112e1aa>]
do_vfs_ioctl+0x460/0x4a1
May 24 10:05:39 shalem kernel: [ 4221.203949]  [<ffffffff8112e241>]
sys_ioctl+0x56/0x79
May 24 10:05:39 shalem kernel: [ 4221.203953]  [<ffffffff81482682>]
system_call_fastpath+0x16/0x1b
Comment 3 Hans de Goede 2011-05-30 08:08:23 UTC
May 24 15:11:15 shalem kernel: [22553.798697] BUG: sleeping function called
from invalid context at kernel/cpuset.c:2352
May 24 15:11:15 shalem kernel: [22553.798701] in_atomic(): 0, irqs_disabled():
1, pid: 46, name: kswapd0
May 24 15:11:15 shalem kernel: [22553.798704] Pid: 46, comm: kswapd0 Not
tainted 2.6.39-0.rc7.git6.1.fc16.x86_64 #1
May 24 15:11:15 shalem kernel: [22553.798705] Call Trace:
May 24 15:11:15 shalem kernel: [22553.798713]  [<ffffffff81046920>]
__might_sleep+0xeb/0xf0
May 24 15:11:15 shalem kernel: [22553.798717]  [<ffffffff81096752>]
__cpuset_node_allowed_softwall+0x5e/0x122
May 24 15:11:15 shalem kernel: [22553.798721]  [<ffffffff810dc778>]
get_page_from_freelist+0x144/0x64e
May 24 15:11:15 shalem kernel: [22553.798723]  [<ffffffff810dd40f>] ?
__alloc_pages_nodemask+0x78d/0x7ef
May 24 15:11:15 shalem kernel: [22553.798725]  [<ffffffff810dcfdc>]
__alloc_pages_nodemask+0x35a/0x7ef
May 24 15:11:15 shalem kernel: [22553.798729]  [<ffffffff81475665>] ?
get_partial_node+0x69/0x74
May 24 15:11:15 shalem kernel: [22553.798731]  [<ffffffff81475a35>] ?
__slab_alloc+0xb8/0x350
May 24 15:11:15 shalem kernel: [22553.798734]  [<ffffffff81230f9a>] ?
rb_insert_color+0x66/0xe1
May 24 15:11:15 shalem kernel: [22553.798737]  [<ffffffff810d8300>] ?
mempool_free_pages+0x10/0x10
May 24 15:11:15 shalem kernel: [22553.798741]  [<ffffffff8110725a>]
alloc_pages_current+0xbe/0xd8
May 24 15:11:15 shalem kernel: [22553.798743]  [<ffffffff81230fec>] ?
rb_insert_color+0xb8/0xe1
May 24 15:11:15 shalem kernel: [22553.798745]  [<ffffffff8110e587>]
alloc_slab_page+0x1c/0x4d
May 24 15:11:15 shalem kernel: [22553.798748]  [<ffffffff8110fc31>]
new_slab+0x4f/0x197
May 24 15:11:15 shalem kernel: [22553.798749]  [<ffffffff81475be6>]
__slab_alloc+0x269/0x350
May 24 15:11:15 shalem kernel: [22553.798752]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 24 15:11:15 shalem kernel: [22553.798754]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 24 15:11:15 shalem kernel: [22553.798756]  [<ffffffff81110442>]
kmem_cache_alloc+0x6e/0x10a
May 24 15:11:15 shalem kernel: [22553.798758]  [<ffffffff810d8365>] ?
mempool_alloc_slab+0x15/0x17
May 24 15:11:15 shalem kernel: [22553.798761]  [<ffffffff810d8365>]
mempool_alloc_slab+0x15/0x17
May 24 15:11:15 shalem kernel: [22553.798763]  [<ffffffff810d85da>]
mempool_alloc+0x68/0x116
May 24 15:11:15 shalem kernel: [22553.798766]  [<ffffffff812194fc>]
get_request+0x19f/0x281
May 24 15:11:15 shalem kernel: [22553.798769]  [<ffffffff81219613>]
get_request_wait+0x35/0x18b
May 24 15:11:15 shalem kernel: [22553.798771]  [<ffffffff812270f3>] ?
cfq_merge+0x6b/0x94
May 24 15:11:15 shalem kernel: [22553.798774]  [<ffffffff812141ee>] ?
elv_merge+0xa2/0xae
May 24 15:11:15 shalem kernel: [22553.798776]  [<ffffffff8121a421>]
__make_request+0x18a/0x2b8
May 24 15:11:15 shalem kernel: [22553.798778]  [<ffffffff81219118>]
generic_make_request+0x2a9/0x323
May 24 15:11:15 shalem kernel: [22553.798781]  [<ffffffff810ec30d>] ?
__dec_zone_page_state+0x1e/0x20
May 24 15:11:15 shalem kernel: [22553.798784]  [<ffffffff81219270>]
submit_bio+0xde/0xfd
May 24 15:11:15 shalem kernel: [22553.798786]  [<ffffffff810dd7ad>] ?
test_set_page_writeback+0xe8/0xfa
May 24 15:11:15 shalem kernel: [22553.798788]  [<ffffffff810ffa13>]
swap_writepage+0x94/0x9f
May 24 15:11:15 shalem kernel: [22553.798790]  [<ffffffff810e38e9>]
shrink_page_list+0x3c7/0x6de
May 24 15:11:15 shalem kernel: [22553.798793]  [<ffffffff8111aaa0>] ?
mem_cgroup_del_lru+0x1d/0x21
May 24 15:11:15 shalem kernel: [22553.798795]  [<ffffffff810e4018>]
shrink_inactive_list+0x230/0x397
May 24 15:11:15 shalem kernel: [22553.798798]  [<ffffffff810448a3>] ?
perf_event_task_sched_out+0x55/0x61
May 24 15:11:15 shalem kernel: [22553.798801]  [<ffffffff8100eb84>] ?
sched_clock+0x9/0xd
May 24 15:11:15 shalem kernel: [22553.798803]  [<ffffffff810de111>] ?
determine_dirtyable_memory+0x1a/0x23
May 24 15:11:15 shalem kernel: [22553.798805]  [<ffffffff810e47a5>]
shrink_zone+0x376/0x4b3
May 24 15:11:15 shalem kernel: [22553.798807]  [<ffffffff810da543>] ?
zone_watermark_ok_safe+0xa1/0xae
May 24 15:11:15 shalem kernel: [22553.798809]  [<ffffffff810e5676>]
kswapd+0x50d/0x798
May 24 15:11:15 shalem kernel: [22553.798811]  [<ffffffff810e5169>] ?
mem_cgroup_shrink_node_zone+0xe3/0xe3
May 24 15:11:15 shalem kernel: [22553.798814]  [<ffffffff8106e287>]
kthread+0x84/0x8c
May 24 15:11:15 shalem kernel: [22553.798816]  [<ffffffff814837a4>]
kernel_thread_helper+0x4/0x10
May 24 15:11:15 shalem kernel: [22553.798819]  [<ffffffff8106e203>] ?
kthread_worker_fn+0x148/0x148
May 24 15:11:15 shalem kernel: [22553.798821]  [<ffffffff814837a0>] ?
gs_change+0x13/0x13
Comment 4 Hans de Goede 2011-05-30 08:08:49 UTC
And one with the 2.6.39 final (2.6.39-1.fc16.x86_64)
kernel I'm afraid:

May 25 14:39:15 shalem kernel: [  588.946060] BUG: sleeping function called
from invalid context at kernel/cpuset.c:2352
May 25 14:39:15 shalem kernel: [  588.946063] in_atomic(): 0, irqs_disabled():
1, pid: 1544, name: Xorg
May 25 14:39:15 shalem kernel: [  588.946066] Pid: 1544, comm: Xorg Not tainted
2.6.39-1.fc16.x86_64 #1
May 25 14:39:15 shalem kernel: [  588.946067] Call Trace:
May 25 14:39:15 shalem kernel: [  588.946074]  [<ffffffff81046920>]
__might_sleep+0xeb/0xf0
May 25 14:39:15 shalem kernel: [  588.946077]  [<ffffffff81096762>]
__cpuset_node_allowed_softwall+0x5e/0x122
May 25 14:39:15 shalem kernel: [  588.946080]  [<ffffffff810dc784>]
get_page_from_freelist+0x144/0x64e
May 25 14:39:15 shalem kernel: [  588.946083]  [<ffffffff8104dce9>] ?
select_idle_sibling+0x4c/0xf8
May 25 14:39:15 shalem kernel: [  588.946085]  [<ffffffff81041ba2>] ?
__enqueue_entity+0x77/0x79
May 25 14:39:15 shalem kernel: [  588.946087]  [<ffffffff810dcfe8>]
__alloc_pages_nodemask+0x35a/0x7ef
May 25 14:39:15 shalem kernel: [  588.946091]  [<ffffffff81107292>]
alloc_pages_current+0xbe/0xd8
May 25 14:39:15 shalem kernel: [  588.946093]  [<ffffffff811f05ba>] ?
task_has_capability+0xad/0x10e
May 25 14:39:15 shalem kernel: [  588.946096]  [<ffffffff8110e5bf>]
alloc_slab_page+0x1c/0x4d
May 25 14:39:15 shalem kernel: [  588.946098]  [<ffffffff8110fc69>]
new_slab+0x4f/0x197
May 25 14:39:15 shalem kernel: [  588.946101]  [<ffffffff81475e3d>]
__slab_alloc+0x269/0x350
May 25 14:39:15 shalem kernel: [  588.946103]  [<ffffffff81237cd9>] ?
sg_kmalloc+0x24/0x26
May 25 14:39:15 shalem kernel: [  588.946105]  [<ffffffff81110005>]
__kmalloc+0xa9/0x116
May 25 14:39:15 shalem kernel: [  588.946107]  [<ffffffff81237cd9>] ?
sg_kmalloc+0x24/0x26
May 25 14:39:15 shalem kernel: [  588.946109]  [<ffffffff81237cd9>]
sg_kmalloc+0x24/0x26
May 25 14:39:15 shalem kernel: [  588.946110]  [<ffffffff81237bdf>]
__sg_alloc_table+0x63/0x11c
May 25 14:39:15 shalem kernel: [  588.946112]  [<ffffffff81237cb5>] ?
sg_kfree+0x1d/0x1d
May 25 14:39:15 shalem kernel: [  588.946114]  [<ffffffff81237f42>]
sg_alloc_table+0x1f/0x45
May 25 14:39:15 shalem kernel: [  588.946118]  [<ffffffff812e0fa8>]
intel_gtt_map_memory+0x39/0x101
May 25 14:39:15 shalem kernel: [  588.946120]  [<ffffffff810e839b>] ?
shmem_readpage+0x3c/0x41
May 25 14:39:15 shalem kernel: [  588.946144]  [<ffffffffa00842d1>]
i915_gem_gtt_bind_object+0x4b/0xaa [i915]
May 25 14:39:15 shalem kernel: [  588.946152]  [<ffffffffa007dff1>]
i915_gem_object_bind_to_gtt+0x332/0x467 [i915]
May 25 14:39:15 shalem kernel: [  588.946159]  [<ffffffffa0080614>]
i915_gem_object_pin+0xc7/0x13c [i915]
May 25 14:39:15 shalem kernel: [  588.946161]  [<ffffffff81110366>] ?
kmem_cache_alloc_trace+0xc7/0xd9
May 25 14:39:15 shalem kernel: [  588.946169]  [<ffffffffa0082899>]
i915_gem_execbuffer_reserve+0x1b1/0x2f7 [i915]
May 25 14:39:15 shalem kernel: [  588.946175]  [<ffffffffa008314c>]
i915_gem_do_execbuffer+0x470/0x1160 [i915]
May 25 14:39:15 shalem kernel: [  588.946178]  [<ffffffff8103fdbb>] ?
should_resched+0xe/0x2d
May 25 14:39:15 shalem kernel: [  588.946184]  [<ffffffffa008413e>]
i915_gem_execbuffer2+0xe5/0x147 [i915]
May 25 14:39:15 shalem kernel: [  588.946186]  [<ffffffff8103fdbb>] ?
should_resched+0xe/0x2d
May 25 14:39:15 shalem kernel: [  588.946194]  [<ffffffffa0023861>]
drm_ioctl+0x29e/0x37b [drm]
May 25 14:39:15 shalem kernel: [  588.946200]  [<ffffffffa0084059>] ?
i915_gem_execbuffer+0x21d/0x21d [i915]
May 25 14:39:15 shalem kernel: [  588.946203]  [<ffffffff811ee644>] ?
file_has_perm+0xa7/0xc9
May 25 14:39:15 shalem kernel: [  588.946205]  [<ffffffff8112e1e2>]
do_vfs_ioctl+0x460/0x4a1
May 25 14:39:15 shalem kernel: [  588.946208]  [<ffffffff8112e279>]
sys_ioctl+0x56/0x79
May 25 14:39:15 shalem kernel: [  588.946210]  [<ffffffff814828c2>]
system_call_fastpath+0x16/0x1b
Comment 5 Hans de Goede 2011-05-30 08:09:57 UTC
Note some of these indicate the i915 driver, so I first filed a bug against this, but the i915 people think there is a deeper underlying cause, which given that some do not involve i915 makes sense, see:
https://bugs.freedesktop.org/show_bug.cgi?id=37616
Comment 6 Andrew Morton 2011-06-06 21:32:00 UTC
(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Mon, 30 May 2011 08:07:36 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> 
> https://bugzilla.kernel.org/show_bug.cgi?id=36202
> 
>            Summary: sleeping function called from invalid context
>            Product: Memory Management
>            Version: 2.5
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Other
>         AssignedTo: akpm@linux-foundation.org
>         ReportedBy: jwrdegoede@fedoraproject.org
>         Regression: No
> 
> 
> Lately I've got several backtraces related to "sleeping function called from
> invalid context", this happens with both fedora provided kernels, both:
> 2.6.39-0.rc7.git6.1.fc16.x86_64 and 2.6.39-1.fc16.x86_64. I'll copy paste one
> backtrace per comment here to keep the begin / start of each trace clearly
> separated. First a bunch of backtraces from 2.6.39-0.rc7.git6.1.fc16.x86_64,
> starting with:

Every oops trace in that bugzilla report has been wordwrapped, which
makes them fantastically hard to read.  Please use attachments in bugzilla.

I fixed up the first one.  I think it's fingering ext4, calling into
the BIO layer with IRQs disabled.


May 23 11:24:47 shalem kernel: [ 4156.296806] BUG: sleeping function called from invalid context at kernel/cpuset.c:2352
May 23 11:24:47 shalem kernel: [ 4156.296812] in_atomic(): 0, irqs_disabled(): 1, pid: 1007, name: flush-8:16
May 23 11:24:47 shalem kernel: [ 4156.296815] Pid: 1007, comm: flush-8:16 Not tainted 2.6.39-0.rc7.git6.1.fc16.x86_64 #1
May 23 11:24:47 shalem kernel: [ 4156.296817] Call Trace:
May 23 11:24:47 shalem kernel: [ 4156.296833]  [<ffffffff81046920>] __might_sleep+0xeb/0xf0
May 23 11:24:47 shalem kernel: [ 4156.296839]  [<ffffffff81096752>] __cpuset_node_allowed_softwall+0x5e/0x122
May 23 11:24:47 shalem kernel: [ 4156.296843]  [<ffffffff810dc778>] get_page_from_freelist+0x144/0x64e
May 23 11:24:47 shalem kernel: [ 4156.296846]  [<ffffffff810dc9e6>] ? get_page_from_freelist+0x3b2/0x64e
May 23 11:24:47 shalem kernel: [ 4156.296848]  [<ffffffff810dcfdc>] __alloc_pages_nodemask+0x35a/0x7ef
May 23 11:24:47 shalem kernel: [ 4156.296855]  [<ffffffff8110725a>] alloc_pages_current+0xbe/0xd8
May 23 11:24:47 shalem kernel: [ 4156.296859]  [<ffffffff8110e587>] alloc_slab_page+0x1c/0x4d
May 23 11:24:47 shalem kernel: [ 4156.296861]  [<ffffffff8110fc31>] new_slab+0x4f/0x197
May 23 11:24:47 shalem kernel: [ 4156.296867]  [<ffffffff81475be6>] __slab_alloc+0x269/0x350
May 23 11:24:47 shalem kernel: [ 4156.296872]  [<ffffffff810d8365>] ? mempool_alloc_slab+0x15/0x17
May 23 11:24:47 shalem kernel: [ 4156.296874]  [<ffffffff810d8365>] ? mempool_alloc_slab+0x15/0x17
May 23 11:24:47 shalem kernel: [ 4156.296876]  [<ffffffff81110442>] kmem_cache_alloc+0x6e/0x10a
May 23 11:24:47 shalem kernel: [ 4156.296879]  [<ffffffff810d8365>] mempool_alloc_slab+0x15/0x17
May 23 11:24:47 shalem kernel: [ 4156.296881]  [<ffffffff810d85da>] mempool_alloc+0x68/0x116
May 23 11:24:47 shalem kernel: [ 4156.296885]  [<ffffffff812fb125>] ? scsi_pool_alloc_command+0x43/0x68
May 23 11:24:47 shalem kernel: [ 4156.296888]  [<ffffffff81301f11>] scsi_sg_alloc+0x2d/0x2f
May 23 11:24:47 shalem kernel: [ 4156.296893]  [<ffffffff81237b7f>] __sg_alloc_table+0x63/0x11c
May 23 11:24:47 shalem kernel: [ 4156.296895]  [<ffffffff81301ee4>] ? scsi_sg_free+0x2f/0x2f
May 23 11:24:47 shalem kernel: [ 4156.296897]  [<ffffffff81301f3d>] scsi_alloc_sgtable+0x2a/0x4f
May 23 11:24:47 shalem kernel: [ 4156.296899]  [<ffffffff81301f83>] scsi_init_sgtable+0x21/0x61
May 23 11:24:47 shalem kernel: [ 4156.296901]  [<ffffffff81301ff5>] scsi_init_io+0x32/0x13b
May 23 11:24:47 shalem kernel: [ 4156.296904]  [<ffffffff81302204>] scsi_setup_fs_cmnd+0x87/0x8c
May 23 11:24:47 shalem kernel: [ 4156.296908]  [<ffffffff8130acac>] sd_prep_fn+0x301/0xbf3
May 23 11:24:47 shalem kernel: [ 4156.296915]  [<ffffffff812285be>] ? cfq_dispatch_requests+0x753/0x8c2
May 23 11:24:47 shalem kernel: [ 4156.296918]  [<ffffffff8121a0f9>] blk_peek_request+0xdb/0x17b
May 23 11:24:47 shalem kernel: [ 4156.296920]  [<ffffffff81301af3>] scsi_request_fn+0x7d/0x409
May 23 11:24:47 shalem kernel: [ 4156.296925]  [<ffffffff81214e1b>] __blk_run_queue+0x1b/0x1d
May 23 11:24:47 shalem kernel: [ 4156.296927]  [<ffffffff8121a532>] __make_request+0x29b/0x2b8
May 23 11:24:47 shalem kernel: [ 4156.296930]  [<ffffffff81219118>] generic_make_request+0x2a9/0x323
May 23 11:24:47 shalem kernel: [ 4156.296935]  [<ffffffff811471bc>] ? bvec_alloc_bs+0xae/0xcc
May 23 11:24:47 shalem kernel: [ 4156.296938]  [<ffffffff81110442>] ? kmem_cache_alloc+0x6e/0x10a
May 23 11:24:47 shalem kernel: [ 4156.296940]  [<ffffffff81219270>] submit_bio+0xde/0xfd
May 23 11:24:47 shalem kernel: [ 4156.296944]  [<ffffffff810eb5b1>] ? inc_zone_page_state+0x27/0x29
May 23 11:24:47 shalem kernel: [ 4156.296947]  [<ffffffff810dd6c1>] ? account_page_writeback+0x25/0x29
May 23 11:24:47 shalem kernel: [ 4156.296950]  [<ffffffff81230038>] ? radix_tree_gang_lookup_slot+0x66/0x87
May 23 11:24:47 shalem kernel: [ 4156.296953]  [<ffffffff8119b1d8>] ext4_io_submit+0x2c/0x58
May 23 11:24:47 shalem kernel: [ 4156.296955]  [<ffffffff8119b380>] ext4_bio_write_page+0x17c/0x320
May 23 11:24:47 shalem kernel: [ 4156.296958]  [<ffffffff81196432>] mpage_da_submit_io+0x306/0x389
May 23 11:24:47 shalem kernel: [ 4156.296961]  [<ffffffff81199e44>] mpage_da_map_and_submit+0x2b7/0x2cd
May 23 11:24:47 shalem kernel: [ 4156.296963]  [<ffffffff81199f28>] mpage_add_bh_to_extent+0xce/0xdd
May 23 11:24:47 shalem kernel: [ 4156.296965]  [<ffffffff8103fdbb>] ? should_resched+0xe/0x2d
May 23 11:24:47 shalem kernel: [ 4156.296967]  [<ffffffff8119a177>] write_cache_pages_da+0x240/0x325
May 23 11:24:47 shalem kernel: [ 4156.296969]  [<ffffffff8119a502>] ext4_da_writepages+0x2a6/0x44d
May 23 11:24:47 shalem kernel: [ 4156.296972]  [<ffffffff810de978>] do_writepages+0x21/0x2a
May 23 11:24:47 shalem kernel: [ 4156.296976]  [<ffffffff8113ddff>] writeback_single_inode+0xb2/0x1bc
May 23 11:24:47 shalem kernel: [ 4156.296978]  [<ffffffff8113e14b>] writeback_sb_inodes+0xcd/0x161
May 23 11:24:47 shalem kernel: [ 4156.296980]  [<ffffffff8113e64f>] writeback_inodes_wb+0x119/0x12b
May 23 11:24:47 shalem kernel: [ 4156.296982]  [<ffffffff8113e84f>] wb_writeback+0x1ee/0x335
May 23 11:24:47 shalem kernel: [ 4156.296985]  [<ffffffff81080d17>] ? arch_local_irq_save+0x15/0x1b
May 23 11:24:47 shalem kernel: [ 4156.296989]  [<ffffffff8147beb2>] ? _raw_spin_lock_irqsave+0x12/0x2f
May 23 11:24:47 shalem kernel: [ 4156.296991]  [<ffffffff8113ea1c>] wb_do_writeback+0x86/0x19d
May 23 11:24:47 shalem kernel: [ 4156.296995]  [<ffffffff81060268>] ? del_timer+0x7a/0x7a
May 23 11:24:47 shalem kernel: [ 4156.296998]  [<ffffffff8113ebbb>] bdi_writeback_thread+0x88/0x1e5
May 23 11:24:47 shalem kernel: [ 4156.297000]  [<ffffffff8113eb33>] ? wb_do_writeback+0x19d/0x19d
May 23 11:24:47 shalem kernel: [ 4156.297004]  [<ffffffff8106e287>] kthread+0x84/0x8c
May 23 11:24:47 shalem kernel: [ 4156.297008]  [<ffffffff814837a4>] kernel_thread_helper+0x4/0x10
May 23 11:24:47 shalem kernel: [ 4156.297010]  [<ffffffff8106e203>] ? kthread_worker_fn+0x148/0x148
May 23 11:24:47 shalem kernel: [ 4156.297012]  [<ffffffff814837a0>] ? gs_change+0x13/0x13
Comment 7 Andreas Dilger 2011-06-06 23:45:17 UTC
On 2011-06-06, at 3:31 PM, Andrew Morton <akpm@linux-foundation.org> wrote:
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
> 
> On Mon, 30 May 2011 08:07:36 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
>> https://bugzilla.kernel.org/show_bug.cgi?id=36202
>> 
>>           Summary: sleeping function called from invalid context
>>           Product: Memory Management
>>           Version: 2.5
>>          Platform: All
>>        OS/Version: Linux
>>              Tree: Mainline
>>            Status: NEW
>>          Severity: normal
>>          Priority: P1
>>         Component: Other
>>        AssignedTo: akpm@linux-foundation.org
>>        ReportedBy: jwrdegoede@fedoraproject.org
>>        Regression: No
>> 
>> 
>> Lately I've got several backtraces related to "sleeping function called from
>> invalid context", this happens with both fedora provided kernels, both:
>> 2.6.39-0.rc7.git6.1.fc16.x86_64 and 2.6.39-1.fc16.x86_64. I'll copy paste
>> one
>> backtrace per comment here to keep the begin / start of each trace clearly
>> separated. First a bunch of backtraces from 2.6.39-0.rc7.git6.1.fc16.x86_64,
>> starting with:
> 
> Every oops trace in that bugzilla report has been wordwrapped, which
> makes them fantastically hard to read.  Please use attachments in bugzilla.
> 
> I fixed up the first one.  I think it's fingering ext4, calling into
> the BIO layer with IRQs disabled.

I don't think ext4 does anything to disable IRQs, and many of the functions earlier in the stack could sleep (e.g. submit_bio()) so it doesn't seem possible that IRQs could be disabled at the ext4 level.

I suspect from the huge stack that this is actually a stack overflow that is corrupting the task struct and irqs_disabled() return value.

> May 23 11:24:47 shalem kernel: [ 4156.296806] BUG: sleeping function called
> from invalid context at kernel/cpuset.c:2352
> May 23 11:24:47 shalem kernel: [ 4156.296812] in_atomic(): 0,
> irqs_disabled(): 1, pid: 1007, name: flush-8:16
> May 23 11:24:47 shalem kernel: [ 4156.296815] Pid: 1007, comm: flush-8:16 Not
> tainted 2.6.39-0.rc7.git6.1.fc16.x86_64 #1
> May 23 11:24:47 shalem kernel: [ 4156.296817] Call Trace:
> May 23 11:24:47 shalem kernel: [ 4156.296833]  [<ffffffff81046920>]
> __might_sleep+0xeb/0xf0
> May 23 11:24:47 shalem kernel: [ 4156.296839]  [<ffffffff81096752>]
> __cpuset_node_allowed_softwall+0x5e/0x122
> May 23 11:24:47 shalem kernel: [ 4156.296843]  [<ffffffff810dc778>]
> get_page_from_freelist+0x144/0x64e
> May 23 11:24:47 shalem kernel: [ 4156.296846]  [<ffffffff810dc9e6>] ?
> get_page_from_freelist+0x3b2/0x64e
> May 23 11:24:47 shalem kernel: [ 4156.296848]  [<ffffffff810dcfdc>]
> __alloc_pages_nodemask+0x35a/0x7ef
> May 23 11:24:47 shalem kernel: [ 4156.296855]  [<ffffffff8110725a>]
> alloc_pages_current+0xbe/0xd8
> May 23 11:24:47 shalem kernel: [ 4156.296859]  [<ffffffff8110e587>]
> alloc_slab_page+0x1c/0x4d
> May 23 11:24:47 shalem kernel: [ 4156.296861]  [<ffffffff8110fc31>]
> new_slab+0x4f/0x197
> May 23 11:24:47 shalem kernel: [ 4156.296867]  [<ffffffff81475be6>]
> __slab_alloc+0x269/0x350
> May 23 11:24:47 shalem kernel: [ 4156.296872]  [<ffffffff810d8365>] ?
> mempool_alloc_slab+0x15/0x17
> May 23 11:24:47 shalem kernel: [ 4156.296874]  [<ffffffff810d8365>] ?
> mempool_alloc_slab+0x15/0x17
> May 23 11:24:47 shalem kernel: [ 4156.296876]  [<ffffffff81110442>]
> kmem_cache_alloc+0x6e/0x10a
> May 23 11:24:47 shalem kernel: [ 4156.296879]  [<ffffffff810d8365>]
> mempool_alloc_slab+0x15/0x17
> May 23 11:24:47 shalem kernel: [ 4156.296881]  [<ffffffff810d85da>]
> mempool_alloc+0x68/0x116
> May 23 11:24:47 shalem kernel: [ 4156.296885]  [<ffffffff812fb125>] ?
> scsi_pool_alloc_command+0x43/0x68
> May 23 11:24:47 shalem kernel: [ 4156.296888]  [<ffffffff81301f11>]
> scsi_sg_alloc+0x2d/0x2f
> May 23 11:24:47 shalem kernel: [ 4156.296893]  [<ffffffff81237b7f>]
> __sg_alloc_table+0x63/0x11c
> May 23 11:24:47 shalem kernel: [ 4156.296895]  [<ffffffff81301ee4>] ?
> scsi_sg_free+0x2f/0x2f
> May 23 11:24:47 shalem kernel: [ 4156.296897]  [<ffffffff81301f3d>]
> scsi_alloc_sgtable+0x2a/0x4f
> May 23 11:24:47 shalem kernel: [ 4156.296899]  [<ffffffff81301f83>]
> scsi_init_sgtable+0x21/0x61
> May 23 11:24:47 shalem kernel: [ 4156.296901]  [<ffffffff81301ff5>]
> scsi_init_io+0x32/0x13b
> May 23 11:24:47 shalem kernel: [ 4156.296904]  [<ffffffff81302204>]
> scsi_setup_fs_cmnd+0x87/0x8c
> May 23 11:24:47 shalem kernel: [ 4156.296908]  [<ffffffff8130acac>]
> sd_prep_fn+0x301/0xbf3
> May 23 11:24:47 shalem kernel: [ 4156.296915]  [<ffffffff812285be>] ?
> cfq_dispatch_requests+0x753/0x8c2
> May 23 11:24:47 shalem kernel: [ 4156.296918]  [<ffffffff8121a0f9>]
> blk_peek_request+0xdb/0x17b
> May 23 11:24:47 shalem kernel: [ 4156.296920]  [<ffffffff81301af3>]
> scsi_request_fn+0x7d/0x409
> May 23 11:24:47 shalem kernel: [ 4156.296925]  [<ffffffff81214e1b>]
> __blk_run_queue+0x1b/0x1d
> May 23 11:24:47 shalem kernel: [ 4156.296927]  [<ffffffff8121a532>]
> __make_request+0x29b/0x2b8
> May 23 11:24:47 shalem kernel: [ 4156.296930]  [<ffffffff81219118>]
> generic_make_request+0x2a9/0x323
> May 23 11:24:47 shalem kernel: [ 4156.296935]  [<ffffffff811471bc>] ?
> bvec_alloc_bs+0xae/0xcc
> May 23 11:24:47 shalem kernel: [ 4156.296938]  [<ffffffff81110442>] ?
> kmem_cache_alloc+0x6e/0x10a
> May 23 11:24:47 shalem kernel: [ 4156.296940]  [<ffffffff81219270>]
> submit_bio+0xde/0xfd
> May 23 11:24:47 shalem kernel: [ 4156.296944]  [<ffffffff810eb5b1>] ?
> inc_zone_page_state+0x27/0x29
> May 23 11:24:47 shalem kernel: [ 4156.296947]  [<ffffffff810dd6c1>] ?
> account_page_writeback+0x25/0x29
> May 23 11:24:47 shalem kernel: [ 4156.296950]  [<ffffffff81230038>] ?
> radix_tree_gang_lookup_slot+0x66/0x87
> May 23 11:24:47 shalem kernel: [ 4156.296953]  [<ffffffff8119b1d8>]
> ext4_io_submit+0x2c/0x58
> May 23 11:24:47 shalem kernel: [ 4156.296955]  [<ffffffff8119b380>]
> ext4_bio_write_page+0x17c/0x320
> May 23 11:24:47 shalem kernel: [ 4156.296958]  [<ffffffff81196432>]
> mpage_da_submit_io+0x306/0x389
> May 23 11:24:47 shalem kernel: [ 4156.296961]  [<ffffffff81199e44>]
> mpage_da_map_and_submit+0x2b7/0x2cd
> May 23 11:24:47 shalem kernel: [ 4156.296963]  [<ffffffff81199f28>]
> mpage_add_bh_to_extent+0xce/0xdd
> May 23 11:24:47 shalem kernel: [ 4156.296965]  [<ffffffff8103fdbb>] ?
> should_resched+0xe/0x2d
> May 23 11:24:47 shalem kernel: [ 4156.296967]  [<ffffffff8119a177>]
> write_cache_pages_da+0x240/0x325
> May 23 11:24:47 shalem kernel: [ 4156.296969]  [<ffffffff8119a502>]
> ext4_da_writepages+0x2a6/0x44d
> May 23 11:24:47 shalem kernel: [ 4156.296972]  [<ffffffff810de978>]
> do_writepages+0x21/0x2a
> May 23 11:24:47 shalem kernel: [ 4156.296976]  [<ffffffff8113ddff>]
> writeback_single_inode+0xb2/0x1bc
> May 23 11:24:47 shalem kernel: [ 4156.296978]  [<ffffffff8113e14b>]
> writeback_sb_inodes+0xcd/0x161
> May 23 11:24:47 shalem kernel: [ 4156.296980]  [<ffffffff8113e64f>]
> writeback_inodes_wb+0x119/0x12b
> May 23 11:24:47 shalem kernel: [ 4156.296982]  [<ffffffff8113e84f>]
> wb_writeback+0x1ee/0x335
> May 23 11:24:47 shalem kernel: [ 4156.296985]  [<ffffffff81080d17>] ?
> arch_local_irq_save+0x15/0x1b
> May 23 11:24:47 shalem kernel: [ 4156.296989]  [<ffffffff8147beb2>] ?
> _raw_spin_lock_irqsave+0x12/0x2f
> May 23 11:24:47 shalem kernel: [ 4156.296991]  [<ffffffff8113ea1c>]
> wb_do_writeback+0x86/0x19d
> May 23 11:24:47 shalem kernel: [ 4156.296995]  [<ffffffff81060268>] ?
> del_timer+0x7a/0x7a
> May 23 11:24:47 shalem kernel: [ 4156.296998]  [<ffffffff8113ebbb>]
> bdi_writeback_thread+0x88/0x1e5
> May 23 11:24:47 shalem kernel: [ 4156.297000]  [<ffffffff8113eb33>] ?
> wb_do_writeback+0x19d/0x19d
> May 23 11:24:47 shalem kernel: [ 4156.297004]  [<ffffffff8106e287>]
> kthread+0x84/0x8c
> May 23 11:24:47 shalem kernel: [ 4156.297008]  [<ffffffff814837a4>]
> kernel_thread_helper+0x4/0x10
> May 23 11:24:47 shalem kernel: [ 4156.297010]  [<ffffffff8106e203>] ?
> kthread_worker_fn+0x148/0x148
> May 23 11:24:47 shalem kernel: [ 4156.297012]  [<ffffffff814837a0>] ?
> gs_change+0x13/0x13
Comment 8 Andreas Dilger 2011-06-07 00:36:52 UTC
On 2011-06-06, at 3:31 PM, Andrew Morton <akpm@linux-foundation.org> wrote:
> (switched to email.  Please respond via emailed reply-to-all, not via the
> bugzilla web interface).
> 
> On Mon, 30 May 2011 08:07:36 GMT
> bugzilla-daemon@bugzilla.kernel.org wrote:
>> https://bugzilla.kernel.org/show_bug.cgi?id=36202
>> 
>>           Summary: sleeping function called from invalid context
>>           Product: Memory Management
>>           Version: 2.5
>>          Platform: All
>>        OS/Version: Linux
>>              Tree: Mainline
>>            Status: NEW
>>          Severity: normal
>>          Priority: P1
>>         Component: Other
>>        AssignedTo: akpm@linux-foundation.org
>>        ReportedBy: jwrdegoede@fedoraproject.org
>>        Regression: No
>> 
>> 
>> Lately I've got several backtraces related to "sleeping function called from
>> invalid context", this happens with both fedora provided kernels, both:
>> 2.6.39-0.rc7.git6.1.fc16.x86_64 and 2.6.39-1.fc16.x86_64. I'll copy paste
>> one
>> backtrace per comment here to keep the begin / start of each trace clearly
>> separated. First a bunch of backtraces from 2.6.39-0.rc7.git6.1.fc16.x86_64,
>> starting with:
> 
> Every oops trace in that bugzilla report has been wordwrapped, which
> makes them fantastically hard to read.  Please use attachments in bugzilla.
> 
> I fixed up the first one.  I think it's fingering ext4, calling into
> the BIO layer with IRQs disabled.

I don't think ext4 does anything to disable IRQs, and many of the functions earlier in the stack could sleep (e.g. submit_bio()) so it doesn't seem possible that IRQs could be disabled at the ext4 level.

I suspect from the huge stack that this is actually a stack overflow that is corrupting the task struct and irqs_disabled() return value.

> May 23 11:24:47 shalem kernel: [ 4156.296806] BUG: sleeping function called
> from invalid context at kernel/cpuset.c:2352
> May 23 11:24:47 shalem kernel: [ 4156.296812] in_atomic(): 0,
> irqs_disabled(): 1, pid: 1007, name: flush-8:16
> May 23 11:24:47 shalem kernel: [ 4156.296815] Pid: 1007, comm: flush-8:16 Not
> tainted 2.6.39-0.rc7.git6.1.fc16.x86_64 #1
> May 23 11:24:47 shalem kernel: [ 4156.296817] Call Trace:
> May 23 11:24:47 shalem kernel: [ 4156.296833]  [<ffffffff81046920>]
> __might_sleep+0xeb/0xf0
> May 23 11:24:47 shalem kernel: [ 4156.296839]  [<ffffffff81096752>]
> __cpuset_node_allowed_softwall+0x5e/0x122
> May 23 11:24:47 shalem kernel: [ 4156.296843]  [<ffffffff810dc778>]
> get_page_from_freelist+0x144/0x64e
> May 23 11:24:47 shalem kernel: [ 4156.296846]  [<ffffffff810dc9e6>] ?
> get_page_from_freelist+0x3b2/0x64e
> May 23 11:24:47 shalem kernel: [ 4156.296848]  [<ffffffff810dcfdc>]
> __alloc_pages_nodemask+0x35a/0x7ef
> May 23 11:24:47 shalem kernel: [ 4156.296855]  [<ffffffff8110725a>]
> alloc_pages_current+0xbe/0xd8
> May 23 11:24:47 shalem kernel: [ 4156.296859]  [<ffffffff8110e587>]
> alloc_slab_page+0x1c/0x4d
> May 23 11:24:47 shalem kernel: [ 4156.296861]  [<ffffffff8110fc31>]
> new_slab+0x4f/0x197
> May 23 11:24:47 shalem kernel: [ 4156.296867]  [<ffffffff81475be6>]
> __slab_alloc+0x269/0x350
> May 23 11:24:47 shalem kernel: [ 4156.296872]  [<ffffffff810d8365>] ?
> mempool_alloc_slab+0x15/0x17
> May 23 11:24:47 shalem kernel: [ 4156.296874]  [<ffffffff810d8365>] ?
> mempool_alloc_slab+0x15/0x17
> May 23 11:24:47 shalem kernel: [ 4156.296876]  [<ffffffff81110442>]
> kmem_cache_alloc+0x6e/0x10a
> May 23 11:24:47 shalem kernel: [ 4156.296879]  [<ffffffff810d8365>]
> mempool_alloc_slab+0x15/0x17
> May 23 11:24:47 shalem kernel: [ 4156.296881]  [<ffffffff810d85da>]
> mempool_alloc+0x68/0x116
> May 23 11:24:47 shalem kernel: [ 4156.296885]  [<ffffffff812fb125>] ?
> scsi_pool_alloc_command+0x43/0x68
> May 23 11:24:47 shalem kernel: [ 4156.296888]  [<ffffffff81301f11>]
> scsi_sg_alloc+0x2d/0x2f
> May 23 11:24:47 shalem kernel: [ 4156.296893]  [<ffffffff81237b7f>]
> __sg_alloc_table+0x63/0x11c
> May 23 11:24:47 shalem kernel: [ 4156.296895]  [<ffffffff81301ee4>] ?
> scsi_sg_free+0x2f/0x2f
> May 23 11:24:47 shalem kernel: [ 4156.296897]  [<ffffffff81301f3d>]
> scsi_alloc_sgtable+0x2a/0x4f
> May 23 11:24:47 shalem kernel: [ 4156.296899]  [<ffffffff81301f83>]
> scsi_init_sgtable+0x21/0x61
> May 23 11:24:47 shalem kernel: [ 4156.296901]  [<ffffffff81301ff5>]
> scsi_init_io+0x32/0x13b
> May 23 11:24:47 shalem kernel: [ 4156.296904]  [<ffffffff81302204>]
> scsi_setup_fs_cmnd+0x87/0x8c
> May 23 11:24:47 shalem kernel: [ 4156.296908]  [<ffffffff8130acac>]
> sd_prep_fn+0x301/0xbf3
> May 23 11:24:47 shalem kernel: [ 4156.296915]  [<ffffffff812285be>] ?
> cfq_dispatch_requests+0x753/0x8c2
> May 23 11:24:47 shalem kernel: [ 4156.296918]  [<ffffffff8121a0f9>]
> blk_peek_request+0xdb/0x17b
> May 23 11:24:47 shalem kernel: [ 4156.296920]  [<ffffffff81301af3>]
> scsi_request_fn+0x7d/0x409
> May 23 11:24:47 shalem kernel: [ 4156.296925]  [<ffffffff81214e1b>]
> __blk_run_queue+0x1b/0x1d
> May 23 11:24:47 shalem kernel: [ 4156.296927]  [<ffffffff8121a532>]
> __make_request+0x29b/0x2b8
> May 23 11:24:47 shalem kernel: [ 4156.296930]  [<ffffffff81219118>]
> generic_make_request+0x2a9/0x323
> May 23 11:24:47 shalem kernel: [ 4156.296935]  [<ffffffff811471bc>] ?
> bvec_alloc_bs+0xae/0xcc
> May 23 11:24:47 shalem kernel: [ 4156.296938]  [<ffffffff81110442>] ?
> kmem_cache_alloc+0x6e/0x10a
> May 23 11:24:47 shalem kernel: [ 4156.296940]  [<ffffffff81219270>]
> submit_bio+0xde/0xfd
> May 23 11:24:47 shalem kernel: [ 4156.296944]  [<ffffffff810eb5b1>] ?
> inc_zone_page_state+0x27/0x29
> May 23 11:24:47 shalem kernel: [ 4156.296947]  [<ffffffff810dd6c1>] ?
> account_page_writeback+0x25/0x29
> May 23 11:24:47 shalem kernel: [ 4156.296950]  [<ffffffff81230038>] ?
> radix_tree_gang_lookup_slot+0x66/0x87
> May 23 11:24:47 shalem kernel: [ 4156.296953]  [<ffffffff8119b1d8>]
> ext4_io_submit+0x2c/0x58
> May 23 11:24:47 shalem kernel: [ 4156.296955]  [<ffffffff8119b380>]
> ext4_bio_write_page+0x17c/0x320
> May 23 11:24:47 shalem kernel: [ 4156.296958]  [<ffffffff81196432>]
> mpage_da_submit_io+0x306/0x389
> May 23 11:24:47 shalem kernel: [ 4156.296961]  [<ffffffff81199e44>]
> mpage_da_map_and_submit+0x2b7/0x2cd
> May 23 11:24:47 shalem kernel: [ 4156.296963]  [<ffffffff81199f28>]
> mpage_add_bh_to_extent+0xce/0xdd
> May 23 11:24:47 shalem kernel: [ 4156.296965]  [<ffffffff8103fdbb>] ?
> should_resched+0xe/0x2d
> May 23 11:24:47 shalem kernel: [ 4156.296967]  [<ffffffff8119a177>]
> write_cache_pages_da+0x240/0x325
> May 23 11:24:47 shalem kernel: [ 4156.296969]  [<ffffffff8119a502>]
> ext4_da_writepages+0x2a6/0x44d
> May 23 11:24:47 shalem kernel: [ 4156.296972]  [<ffffffff810de978>]
> do_writepages+0x21/0x2a
> May 23 11:24:47 shalem kernel: [ 4156.296976]  [<ffffffff8113ddff>]
> writeback_single_inode+0xb2/0x1bc
> May 23 11:24:47 shalem kernel: [ 4156.296978]  [<ffffffff8113e14b>]
> writeback_sb_inodes+0xcd/0x161
> May 23 11:24:47 shalem kernel: [ 4156.296980]  [<ffffffff8113e64f>]
> writeback_inodes_wb+0x119/0x12b
> May 23 11:24:47 shalem kernel: [ 4156.296982]  [<ffffffff8113e84f>]
> wb_writeback+0x1ee/0x335
> May 23 11:24:47 shalem kernel: [ 4156.296985]  [<ffffffff81080d17>] ?
> arch_local_irq_save+0x15/0x1b
> May 23 11:24:47 shalem kernel: [ 4156.296989]  [<ffffffff8147beb2>] ?
> _raw_spin_lock_irqsave+0x12/0x2f
> May 23 11:24:47 shalem kernel: [ 4156.296991]  [<ffffffff8113ea1c>]
> wb_do_writeback+0x86/0x19d
> May 23 11:24:47 shalem kernel: [ 4156.296995]  [<ffffffff81060268>] ?
> del_timer+0x7a/0x7a
> May 23 11:24:47 shalem kernel: [ 4156.296998]  [<ffffffff8113ebbb>]
> bdi_writeback_thread+0x88/0x1e5
> May 23 11:24:47 shalem kernel: [ 4156.297000]  [<ffffffff8113eb33>] ?
> wb_do_writeback+0x19d/0x19d
> May 23 11:24:47 shalem kernel: [ 4156.297004]  [<ffffffff8106e287>]
> kthread+0x84/0x8c
> May 23 11:24:47 shalem kernel: [ 4156.297008]  [<ffffffff814837a4>]
> kernel_thread_helper+0x4/0x10
> May 23 11:24:47 shalem kernel: [ 4156.297010]  [<ffffffff8106e203>] ?
> kthread_worker_fn+0x148/0x148
> May 23 11:24:47 shalem kernel: [ 4156.297012]  [<ffffffff814837a0>] ?
> gs_change+0x13/0x13

Note You need to log in before you can comment on or make changes to this bug.