lkml.org 
[lkml]   [2010]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: lockdep false positive? -- firewire-core transaction timer vs. scsi-core host lock
From
On Wed, Aug 18, 2010 at 4:09 PM, Stefan Richter
<stefanr@s5r6.in-berlin.de> wrote:
> Again, is the term "interrupt contexts" meant to include softIRQ contexts?

I can't think out a scene which prevent del_timer_sync() from using in
softirq. :(

Then I go back and find that comments comes before linux-2.6.12,
then in linux-2.6.12, del_timer_sync() is like this:

int del_timer_sync(struct timer_list *timer)
{
tvec_base_t *base;
int i, ret = 0;

check_timer(timer);

del_again:
ret += del_timer(timer);

for_each_online_cpu(i) {
base = &per_cpu(tvec_bases, i);
if (base->running_timer == timer) {
while (base->running_timer == timer) {
cpu_relax();
preempt_check_resched();
}
break;
}
}
smp_rmb();
if (timer_pending(timer))
goto del_again;

return ret;
}
EXPORT_SYMBOL(del_timer_sync);

Seems preempt_check_resched() is the proof of that comments, but
now del_timer_sync() is changed.

I don't know if there is any other restriction.

Thanks,
Yong

>
> (Nothing in firewire-core/-sbp2/-net etc. is called in hardware
> interrupts.  BTW, we actually could and maybe should change all the
> spinlocks in them from spin_lock_irq to spin_lock_bh.  Only
> firewire-ohci's local ohci->lock needs to be IRQ safe.  OTOH this could
> change if somebody comes up with a migration of the stack to threaded
> IRQ handling.)
> --
> Stefan Richter
> -=====-==-=- =--- =--=-
> http://arcgraph.de/sr/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2010-08-18 11:11    [W:0.118 / U:2.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site