lkml.org 
[lkml]   [1998]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Bridging-bug with hacker-kernels on Alpha
Date
In article <m0z6Huv-000aNFC@the-village.bc.nu>,
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>> > Thats broken, but for completely different reasons. Its disabling interrupts
>> > when the skb_* stuff is now spinlocked.
>>
>> Alan, look again. Only the non __ versions of skb_* call the spinlocks.
>
>Yes yes I know that - what I mean is the
>
> cli()
> __skb_blah
> sti()
>
>stuff is _extremely_ slow in 2.1 in comparison to the non __ version

Good point. More importantly, it's actually buggy. When doing a
"cli()" in a bottom half context, the cli() won't actually be global,
just local (nasty deadlock reasons), and as such it doesn't really
protect the backup queue anyway.

Fixed by removing the cli/sti and using skb_dequeue() in net/core/dev.c.
It's faster on SMP (no discernible difference on UP), but more
importantly avoids the bug.

Good spotting.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.313 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site