[Lustre-discuss] BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/6024

Andreas Dilger adilger at sun.com
Wed Mar 17 15:38:07 PDT 2010


On 2010-03-17, at 02:59, Gregory Matthews wrote:
> Well, I'm no expert at reading the the kernel bugzilla but...
>
> Gregory Matthews wrote:
>> BUG: using smp_processor_id() in preemptible [00000000] code:  
>> modprobe/6024
>> caller is set_ptldebug_header+0x41/0xa0 [libcfs]
>> Pid: 6024, comm: modprobe Not tainted 2.6.27.39-default #2
>>
>> Call Trace:
>>  [<ffffffff80313c2b>] debug_smp_processor_id+0xd3/0xe8
>>  [<ffffffffa0591171>] set_ptldebug_header+0x41/0xa0 [libcfs]
>>  [<ffffffffa0599bb0>] libcfs_debug_vmsg2+0x70/0x990 [libcfs]
>>  [<ffffffff802514c2>] smp_call_function+0x3f/0x5e
>>  [<ffffffff80254e9a>] load_module+0x166f/0x176e
>>  [<ffffffffa014c000>] init_obdclass+0x0/0x3e4 [obdclass]
>>  [<ffffffffa014c04b>] init_obdclass+0x4b/0x3e4 [obdclass]
>>  [<ffffffff80209041>] _stext+0x41/0x110
>>  [<ffffffff80255037>] sys_init_module+0x9e/0x1ab
>>  [<ffffffff8020bf8b>] system_call_fastpath+0x16/0x1b
>
> this looks a lot like this bug:
>
> http://bugzilla.kernel.org/show_bug.cgi?id=12518
>
> Just need to figure out if the fix can be backported to 2.6.27.39


I think that is a different bug.

In lnet/libcfs/tracefile.c::ibcfs_debug_vmsg2() you could try moving  
set_ptldebug_header() after the call to trace_get_tcd(), which should  
pin the thread to the CPU by disabling preempt and stop the warning.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.




More information about the lustre-discuss mailing list