Bug 26272 - BUG: Scheduling while atomic in fuse_notify_inval_entry
Summary: BUG: Scheduling while atomic in fuse_notify_inval_entry
Status: RESOLVED CODE_FIX
Alias: None
Product: File System
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: fs_other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-07 00:52 UTC by Nikolaus Rath
Modified: 2012-08-14 15:25 UTC (History)
1 user (show)

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


Attachments
dmesg output after reproducing bug (20.68 KB, application/x-bzip)
2011-01-08 16:20 UTC, Nikolaus Rath
Details
contents of /sys/kernel/debug/tracing/trace after reproducing bug (329.66 KB, application/x-bzip)
2011-01-08 16:21 UTC, Nikolaus Rath
Details

Description Nikolaus Rath 2011-01-07 00:52:46 UTC
Am I right in blaming FUSE for this?

 BUG: scheduling while atomic: python/6728/0x10000001
 Modules linked in: ip6table_filter ip6_tables binfmt_misc vmnet vmblock vsock vmci vmmon ipt_M
 Pid: 6728, comm: python Not tainted 2.6.35-23-generic #41-Ubuntu
 Call Trace:
  [<c013eb32>] __schedule_bug+0x62/0x70
  [<c05c7700>] schedule+0x760/0x7a0
  [<c05c94ef>] ? _raw_spin_lock_irqsave+0x2f/0x50
  [<c01316e0>] ? gup_pte_range+0x100/0x170
  [<c05c7882>] _cond_resched+0x32/0x50
  [<c020c828>] kmem_cache_alloc_notrace+0x78/0xb0
  [<c0131795>] ? gup_pud_range+0x45/0x80
  [<c02ea58a>] ? fuse_notify_inval_entry+0x2a/0x1b0
  [<c02ea58a>] fuse_notify_inval_entry+0x2a/0x1b0
  [<f83b47fd>] ? i915_driver_irq_handler+0x21d/0x490 [i915]
  [<c02e872c>] ? fuse_copy_do+0x3c/0x70
  [<c02ea78b>] fuse_notify+0x7b/0xc0
  [<c02e8a7d>] ? fuse_copy_one+0x3d/0x50
  [<c02ea8cc>] fuse_dev_do_write+0xfc/0x320
  [...]

 
This is not reproducible at will, but happens several times a day. The
fuse_notify_inval_entr is always near the top of the call stack.
Comment 1 Nikolaus Rath 2011-01-08 16:19:21 UTC
I have learned that the following is useful for debugging "scheduling while atomic" bugs. The respective files are attached:

$ sudo sh -c "echo 1 > /sys/kernel/debug/tracing/options/latency-format"
$ sudo sh -c "echo 1 > /sys/kernel/debug/tracing/tracing_enabled"
$ sudo sh -c "echo 1 > /sys/kernel/debug/tracing/tracing_on"
$ sudo sh -c "echo function > /sys/kernel/debug/tracing/current_tracer"

(reproduced bug)

$ bzip2 -c /sys/kernel/debug/tracing/trace > trace.bz2
$ dmesg | bzip2 > dmesg.bz2
Comment 2 Nikolaus Rath 2011-01-08 16:20:06 UTC
Created attachment 42852 [details]
dmesg output after reproducing bug
Comment 3 Nikolaus Rath 2011-01-08 16:21:55 UTC
Created attachment 42862 [details]
contents of /sys/kernel/debug/tracing/trace after reproducing bug
Comment 4 Nikolaus Rath 2011-01-11 14:30:38 UTC
Bug seems to exist in 2.6.35, but not in 2.6.37-rc2.

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