lkml.org 
[lkml]   [2015]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Linux v4.2] workqueue: llvmlinux: acpid: BUG: sleeping function called from invalid context at kernel/workqueue.c:2680
On Fri, 25 Sep 2015, Sedat Dilek wrote:

> > This however:
> >
> > [ 24.824639] hardirqs last enabled at (7913): [<ffffffff8192a2b2>] _raw_spin_unlock_irq+0x32/0x60
> > [ 24.824646] hardirqs last disabled at (7914): [<ffffffff81120e37>] del_timer_sync+0x37/0x110
> >
> > combined with the stacktrace above, doesn't still make too much sense; IRQ
> > disable/enable is properly paired in del_timer_sync() and timer base lock
> > locking.
> >
> > Could you look into the generated assembly whether the sequence
> >
> > local_irq_save(flags);
> > lock_map_acquire(&timer->lockdep_map);
> > lock_map_release(&timer->lockdep_map);
> > local_irq_restore(flags);
> >
> > in del_timer_sync() hasn't been optimized in some damaging way?
> >
>
> I am looking into my CLANG objdump...
>
> $ egrep -nr 'save|restore|acquire|release'
> objdump-Dr_kernel-workqueue_o_CLANG-3-7.txt | egrep 'irq|map'
> 5718: 4601: R_X86_64_PC32 _raw_spin_unlock_irqrestore-0x4
> 5766: 4699: R_X86_64_PC32 _raw_spin_lock_irqsave-0x4
> 6173: 4bd9: R_X86_64_PC32 _raw_spin_lock_irqsave-0x4
> 6265: 4d05: R_X86_64_PC32 _raw_spin_unlock_irqrestore-0x4
>
> ...this is what I have.
>
> Does that help?

It doesn't. I am asking for disassembly of del_timer_sync() (that's in
kernel/time/timer.o).

--
Jiri Kosina
SUSE Labs



\
 
 \ /
  Last update: 2015-09-25 14:21    [W:0.071 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site