* Re: 2.6.17-rc5-mm3-lockdep -
[not found] ` <4485798B.4030007@s5r6.in-berlin.de>
@ 2006-06-06 16:39 ` Stefan Richter
2006-06-07 7:12 ` Herbert Xu
0 siblings, 1 reply; 10+ messages in thread
From: Stefan Richter @ 2006-06-06 16:39 UTC (permalink / raw)
To: Valdis.Kletnieks
Cc: Jiri Slaby, Andrew Morton, arjan, mingo, linux-kernel,
linux1394-devel, netdev
>>Valdis.Kletnieks@vt.edu napsal(a):
...
>>>[ 464.687000] [ BUG: illegal lock usage! ]
>>>[ 464.687000] ----------------------------
>>>[ 464.687000] illegal {in-hardirq-W} -> {hardirq-on-W} usage.
>>>[ 464.687000] id/2700 [HC0[0]:SC0[1]:HE1:SE0] takes:
>>>[ 464.687000] (&list->lock){++..}, at: [<c0351a07>] unix_stream_connect+0x334/0x408
>>>[ 464.687000] {in-hardirq-W} state was registered at:
>>>[ 464.687000] [<c012dd45>] lockdep_acquire+0x67/0x7f
>>>[ 464.687000] [<c0383f11>] _spin_lock_irqsave+0x30/0x3f
>>>[ 464.687000] [<c02fa93f>] skb_dequeue+0x18/0x49
>>>[ 464.687000] [<f086b7f1>] hpsb_bus_reset+0x5e/0xa2 [ieee1394]
>>>[ 464.687000] [<f0887007>] ohci_irq_handler+0x370/0x726 [ohci1394]
>>>[ 464.687000] [<c013f9a8>] handle_IRQ_event+0x1d/0x52
>>>[ 464.687000] [<c0140bc4>] handle_level_irq+0x97/0xe3
>>>[ 464.687000] [<c01045d0>] do_IRQ+0x8b/0xaf
>>>[ 464.687000] irq event stamp: 2964
>>>[ 464.687000] hardirqs last enabled at (2963): [<c0384223>] _spin_unlock_irqrestore+0x3b/0x6d
>>>[ 464.687000] hardirqs last disabled at (2962): [<c0383ef5>] _spin_lock_irqsave+0x14/0x3f
>>>[ 464.687000] softirqs last enabled at (2956): [<c0119da0>] __do_softirq+0x9d/0xa5
>>>[ 464.687000] softirqs last disabled at (2964): [<c0383f6b>] _spin_lock_bh+0x10/0x3a
>>>[ 464.687000]
>>>[ 464.687000] other info that might help us debug this:
>>>[ 464.687000] 1 locks held by id/2700:
>>>[ 464.687000] #0: (&u->lock){--..}, at: [<c03517bb>] unix_stream_connect+0xe8/0x408
>>>[ 464.687000]
>>>[ 464.687000] stack backtrace:
>>>[ 464.687000] [<c01032d6>] show_trace_log_lvl+0x64/0x125
>>>[ 464.687000] [<c0103865>] show_trace+0x1b/0x20
>>>[ 464.687000] [<c010391c>] dump_stack+0x1f/0x24
>>>[ 464.687000] [<c012bfb1>] print_usage_bug+0x1a8/0x1b4
>>>[ 464.687000] [<c012c6c7>] mark_lock+0x2ba/0x4e5
>>>[ 464.687000] [<c012d2b8>] __lockdep_acquire+0x476/0xa91
>>>[ 464.687000] [<c012dd45>] lockdep_acquire+0x67/0x7f
>>>[ 464.687000] [<c0383f87>] _spin_lock_bh+0x2c/0x3a
>>>[ 464.687000] [<c0351a07>] unix_stream_connect+0x334/0x408
>>>[ 464.687000] [<c02f7236>] sys_connect+0x6e/0xa3
>>>[ 464.687000] [<c02f79da>] sys_socketcall+0x96/0x190
>>>[ 464.687000] [<c03845e2>] sysenter_past_esp+0x63/0xa1
On second look it doesn't seem to be a problem of the ieee1394 stack but
rather of underlying skb and net infrastructure.
BTW, the locking in -mm's net/unix/af_unix.c::unix_stream_connect()
differs a bit from stock unix_stream_connect(). I see spin_lock_bh() in
2.6.17-rc5-mm3 where 2.6.17-rc5 has spin_lock().
(added Cc: netdev)
--
Stefan Richter
-=====-=-==- -==- --==-
http://arcgraph.de/sr/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.17-rc5-mm3-lockdep -
2006-06-06 16:39 ` 2.6.17-rc5-mm3-lockdep - Stefan Richter
@ 2006-06-07 7:12 ` Herbert Xu
2006-06-12 6:38 ` Ingo Molnar
0 siblings, 1 reply; 10+ messages in thread
From: Herbert Xu @ 2006-06-07 7:12 UTC (permalink / raw)
To: Stefan Richter
Cc: Andrew Morton, Valdis.Kletnieks, Jiri Slaby, netdev, linux-kernel,
mingo, linux1394-devel, David S. Miller, arjan
On Tue, Jun 06, 2006 at 04:39:21PM +0000, Stefan Richter wrote:
>
> BTW, the locking in -mm's net/unix/af_unix.c::unix_stream_connect()
> differs a bit from stock unix_stream_connect(). I see spin_lock_bh() in
> 2.6.17-rc5-mm3 where 2.6.17-rc5 has spin_lock().
Hi Ingo:
Looks like this change was introduced by the validator patch. Any idea
why this was done? AF_UNIX is a user-space-driven socket so there shouldn't
be any need for BH to be disabled there.
Even if it does this patch should go through the normal channels rather
than the lock validator.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.17-rc5-mm3-lockdep -
2006-06-07 7:12 ` Herbert Xu
@ 2006-06-12 6:38 ` Ingo Molnar
2006-06-12 6:41 ` Herbert Xu
2006-06-12 6:50 ` 2.6.17-rc5-mm3-lockdep - David Miller
0 siblings, 2 replies; 10+ messages in thread
From: Ingo Molnar @ 2006-06-12 6:38 UTC (permalink / raw)
To: Herbert Xu
Cc: Andrew Morton, linux1394-devel, Valdis.Kletnieks, Jiri Slaby,
netdev, linux-kernel, mingo, Stefan Richter, David S. Miller,
arjan
* Herbert Xu <herbert@gondor.apana.org.au> wrote:
> On Tue, Jun 06, 2006 at 04:39:21PM +0000, Stefan Richter wrote:
> >
> > BTW, the locking in -mm's net/unix/af_unix.c::unix_stream_connect()
> > differs a bit from stock unix_stream_connect(). I see spin_lock_bh() in
> > 2.6.17-rc5-mm3 where 2.6.17-rc5 has spin_lock().
>
> Hi Ingo:
>
> Looks like this change was introduced by the validator patch. Any
> idea why this was done? AF_UNIX is a user-space-driven socket so there
> shouldn't be any need for BH to be disabled there.
yeah. I'll investigate - it's quite likely that sk_receive_queue.lock
will have to get per-address family locking rules - right?
Maybe it's enough to introduce a separate key for AF_UNIX alone (and
still having all other protocols share the locking rules for
sk_receive_queue.lock) , by reinitializing its spinlock after
sock_init_data()?
Ingo
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.17-rc5-mm3-lockdep -
2006-06-12 6:38 ` Ingo Molnar
@ 2006-06-12 6:41 ` Herbert Xu
2006-06-12 6:57 ` [patch] undo AF_UNIX _bh locking changes and split lock-type instead Ingo Molnar
2006-06-12 6:50 ` 2.6.17-rc5-mm3-lockdep - David Miller
1 sibling, 1 reply; 10+ messages in thread
From: Herbert Xu @ 2006-06-12 6:41 UTC (permalink / raw)
To: Ingo Molnar
Cc: Andrew Morton, linux1394-devel, Valdis.Kletnieks, Jiri Slaby,
netdev, linux-kernel, mingo, Stefan Richter, David S. Miller,
arjan
On Mon, Jun 12, 2006 at 08:38:07AM +0200, Ingo Molnar wrote:
>
> yeah. I'll investigate - it's quite likely that sk_receive_queue.lock
> will have to get per-address family locking rules - right?
Yes that's the issue.
> Maybe it's enough to introduce a separate key for AF_UNIX alone (and
> still having all other protocols share the locking rules for
> sk_receive_queue.lock) , by reinitializing its spinlock after
> sock_init_data()?
This could work. AF_UNIX is probably the only family that does not
interact with hardware.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.6.17-rc5-mm3-lockdep -
2006-06-12 6:38 ` Ingo Molnar
2006-06-12 6:41 ` Herbert Xu
@ 2006-06-12 6:50 ` David Miller
1 sibling, 0 replies; 10+ messages in thread
From: David Miller @ 2006-06-12 6:50 UTC (permalink / raw)
To: mingo
Cc: herbert, stefanr, Valdis.Kletnieks, jirislaby, akpm, arjan, mingo,
linux-kernel, linux1394-devel, netdev
From: Ingo Molnar <mingo@elte.hu>
Date: Mon, 12 Jun 2006 08:38:07 +0200
> yeah. I'll investigate - it's quite likely that sk_receive_queue.lock
> will have to get per-address family locking rules - right?
That's right.
> Maybe it's enough to introduce a separate key for AF_UNIX alone (and
> still having all other protocols share the locking rules for
> sk_receive_queue.lock) , by reinitializing its spinlock after
> sock_init_data()?
AF_NETLINK and/or AF_PACKET might be in a similar situation
as AF_UNIX.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [patch] undo AF_UNIX _bh locking changes and split lock-type instead
2006-06-12 6:41 ` Herbert Xu
@ 2006-06-12 6:57 ` Ingo Molnar
2006-06-12 7:03 ` Herbert Xu
2006-06-12 8:49 ` Ingo Molnar
0 siblings, 2 replies; 10+ messages in thread
From: Ingo Molnar @ 2006-06-12 6:57 UTC (permalink / raw)
To: Herbert Xu
Cc: Andrew Morton, linux1394-devel, Valdis.Kletnieks, Jiri Slaby,
netdev, linux-kernel, mingo, Stefan Richter, David S. Miller,
arjan
* Herbert Xu <herbert@gondor.apana.org.au> wrote:
> > Maybe it's enough to introduce a separate key for AF_UNIX alone (and
> > still having all other protocols share the locking rules for
> > sk_receive_queue.lock) , by reinitializing its spinlock after
> > sock_init_data()?
>
> This could work. AF_UNIX is probably the only family that does not
> interact with hardware.
ok, great. The patch below does the trick on my box.
regarding your point wrt. path of integration - it is pretty much the
only practical way to do this centrally as part of the lock validator
patches, but to collect ACKs from subsystem maintainers in the process.
So if you like it i'd like to have your ACK but this patch depends on
the other lock validator patches (and only makes sense together with
them), so they should temporarily stay in the lock validator queue.
Hopefully this wont be a state that lasts too long and once the
validator is upstream, all patches of course go via the subsystem
submission rules.
(the #ifdef LOCKDEP should probably be converted to some sort of
lockdep_split_lock_key(&sk->sk_receive_queue.lock) op - i'll do that
later)
Ingo
------
Subject: undo AF_UNIX _bh locking changes and split lock-type instead
From: Ingo Molnar <mingo@elte.hu>
this cleans up lock-validator-special-locking-af_unix.patch: instead
of adding _bh locking to AF_UNIX, this patch splits their
sk_receive_queue.lock type from the other networking skb-queue locks.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
net/unix/af_unix.c | 17 +++++++++++++----
net/unix/garbage.c | 8 ++++----
2 files changed, 17 insertions(+), 8 deletions(-)
Index: linux/net/unix/af_unix.c
===================================================================
--- linux.orig/net/unix/af_unix.c
+++ linux/net/unix/af_unix.c
@@ -557,6 +557,15 @@ static struct sock * unix_create1(struct
atomic_inc(&unix_nr_socks);
sock_init_data(sock,sk);
+#ifdef CONFIG_LOCKDEP
+ /*
+ * AF_UNIX sockets do not interact with hardware, hence they
+ * dont trigger interrupts - so it's safe for them to have
+ * bh-unsafe locking for their sk_receive_queue.lock. Split off
+ * this special lock-type by reinitializing the spinlock.
+ */
+ spin_lock_init(&sk->sk_receive_queue.lock);
+#endif
sk->sk_write_space = unix_write_space;
sk->sk_max_ack_backlog = sysctl_unix_max_dgram_qlen;
@@ -1073,12 +1082,12 @@ restart:
unix_state_wunlock(sk);
/* take ten and and send info to listening sock */
- spin_lock_bh(&other->sk_receive_queue.lock);
+ spin_lock(&other->sk_receive_queue.lock);
__skb_queue_tail(&other->sk_receive_queue, skb);
/* Undo artificially decreased inflight after embrion
* is installed to listening socket. */
atomic_inc(&newu->inflight);
- spin_unlock_bh(&other->sk_receive_queue.lock);
+ spin_unlock(&other->sk_receive_queue.lock);
unix_state_runlock(other);
other->sk_data_ready(other, 0);
sock_put(other);
@@ -1843,7 +1852,7 @@ static int unix_ioctl(struct socket *soc
break;
}
- spin_lock_bh(&sk->sk_receive_queue.lock);
+ spin_lock(&sk->sk_receive_queue.lock);
if (sk->sk_type == SOCK_STREAM ||
sk->sk_type == SOCK_SEQPACKET) {
skb_queue_walk(&sk->sk_receive_queue, skb)
@@ -1853,7 +1862,7 @@ static int unix_ioctl(struct socket *soc
if (skb)
amount=skb->len;
}
- spin_unlock_bh(&sk->sk_receive_queue.lock);
+ spin_unlock(&sk->sk_receive_queue.lock);
err = put_user(amount, (int __user *)arg);
break;
}
Index: linux/net/unix/garbage.c
===================================================================
--- linux.orig/net/unix/garbage.c
+++ linux/net/unix/garbage.c
@@ -235,7 +235,7 @@ void unix_gc(void)
struct sock *x = pop_stack();
struct sock *sk;
- spin_lock_bh(&x->sk_receive_queue.lock);
+ spin_lock(&x->sk_receive_queue.lock);
skb = skb_peek(&x->sk_receive_queue);
/*
@@ -270,7 +270,7 @@ void unix_gc(void)
maybe_unmark_and_push(skb->sk);
skb=skb->next;
}
- spin_unlock_bh(&x->sk_receive_queue.lock);
+ spin_unlock(&x->sk_receive_queue.lock);
sock_put(x);
}
@@ -283,7 +283,7 @@ void unix_gc(void)
if (u->gc_tree == GC_ORPHAN) {
struct sk_buff *nextsk;
- spin_lock_bh(&s->sk_receive_queue.lock);
+ spin_lock(&s->sk_receive_queue.lock);
skb = skb_peek(&s->sk_receive_queue);
while (skb &&
skb != (struct sk_buff *)&s->sk_receive_queue) {
@@ -298,7 +298,7 @@ void unix_gc(void)
}
skb = nextsk;
}
- spin_unlock_bh(&s->sk_receive_queue.lock);
+ spin_unlock(&s->sk_receive_queue.lock);
}
u->gc_tree = GC_ORPHAN;
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] undo AF_UNIX _bh locking changes and split lock-type instead
2006-06-12 6:57 ` [patch] undo AF_UNIX _bh locking changes and split lock-type instead Ingo Molnar
@ 2006-06-12 7:03 ` Herbert Xu
2006-06-12 7:18 ` David Miller
2006-06-12 8:49 ` Ingo Molnar
1 sibling, 1 reply; 10+ messages in thread
From: Herbert Xu @ 2006-06-12 7:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: Andrew Morton, linux1394-devel, Valdis.Kletnieks, Jiri Slaby,
netdev, linux-kernel, mingo, Stefan Richter, David S. Miller,
arjan
On Mon, Jun 12, 2006 at 08:57:01AM +0200, Ingo Molnar wrote:
>
> regarding your point wrt. path of integration - it is pretty much the
> only practical way to do this centrally as part of the lock validator
> patches, but to collect ACKs from subsystem maintainers in the process.
> So if you like it i'd like to have your ACK but this patch depends on
> the other lock validator patches (and only makes sense together with
> them), so they should temporarily stay in the lock validator queue.
> Hopefully this wont be a state that lasts too long and once the
> validator is upstream, all patches of course go via the subsystem
> submission rules.
Obviously as long as Dave is happy with it then it's fine. However,
it's probably a good idea to cc netdev for relevant patches so that
they get a wider review. If you've already sent this one there then
I apologise for missing it :)
> (the #ifdef LOCKDEP should probably be converted to some sort of
> lockdep_split_lock_key(&sk->sk_receive_queue.lock) op - i'll do that
> later)
Cool.
Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] undo AF_UNIX _bh locking changes and split lock-type instead
2006-06-12 7:03 ` Herbert Xu
@ 2006-06-12 7:18 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2006-06-12 7:18 UTC (permalink / raw)
To: herbert
Cc: akpm, Valdis.Kletnieks, jirislaby, netdev, linux-kernel, stefanr,
mingo, linux1394-devel, mingo, arjan
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Mon, 12 Jun 2006 17:03:56 +1000
> On Mon, Jun 12, 2006 at 08:57:01AM +0200, Ingo Molnar wrote:
> >
> > regarding your point wrt. path of integration - it is pretty much the
> > only practical way to do this centrally as part of the lock validator
> > patches, but to collect ACKs from subsystem maintainers in the process.
> > So if you like it i'd like to have your ACK but this patch depends on
> > the other lock validator patches (and only makes sense together with
> > them), so they should temporarily stay in the lock validator queue.
> > Hopefully this wont be a state that lasts too long and once the
> > validator is upstream, all patches of course go via the subsystem
> > submission rules.
>
> Obviously as long as Dave is happy with it then it's fine. However,
> it's probably a good idea to cc netdev for relevant patches so that
> they get a wider review. If you've already sent this one there then
> I apologise for missing it :)
Yes, this is fine with me.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] undo AF_UNIX _bh locking changes and split lock-type instead
2006-06-12 6:57 ` [patch] undo AF_UNIX _bh locking changes and split lock-type instead Ingo Molnar
2006-06-12 7:03 ` Herbert Xu
@ 2006-06-12 8:49 ` Ingo Molnar
2006-06-12 20:08 ` David Miller
1 sibling, 1 reply; 10+ messages in thread
From: Ingo Molnar @ 2006-06-12 8:49 UTC (permalink / raw)
To: Herbert Xu
Cc: Andrew Morton, linux1394-devel, Valdis.Kletnieks, Jiri Slaby,
netdev, linux-kernel, mingo, Stefan Richter, David S. Miller,
arjan
* Ingo Molnar <mingo@elte.hu> wrote:
> (the #ifdef LOCKDEP should probably be converted to some sort of
> lockdep_split_lock_key(&sk->sk_receive_queue.lock) op - i'll do that
> later)
i've added such an op, lockdep_reinit_lock_key() - this makes the patch
cleaner:
----------------------
Subject: undo AF_UNIX _bh locking changes and split lock-type
From: Ingo Molnar <mingo@elte.hu>
this cleans up lock-validator-special-locking-af_unix.patch: instead
of adding _bh locking to AF_UNIX, this patch splits their
sk_receive_queue.lock type from the other networking skb-queue locks.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
net/unix/af_unix.c | 18 ++++++++++++++----
net/unix/garbage.c | 8 ++++----
2 files changed, 18 insertions(+), 8 deletions(-)
Index: linux/net/unix/af_unix.c
===================================================================
--- linux.orig/net/unix/af_unix.c
+++ linux/net/unix/af_unix.c
@@ -542,6 +542,14 @@ static struct proto unix_proto = {
.obj_size = sizeof(struct unix_sock),
};
+/*
+ * AF_UNIX sockets do not interact with hardware, hence they
+ * dont trigger interrupts - so it's safe for them to have
+ * bh-unsafe locking for their sk_receive_queue.lock. Split off
+ * this special lock-type by reinitializing the spinlock key:
+ */
+static struct lockdep_type_key af_unix_sk_receive_queue_lock_key;
+
static struct sock * unix_create1(struct socket *sock)
{
struct sock *sk = NULL;
@@ -557,6 +565,8 @@ static struct sock * unix_create1(struct
atomic_inc(&unix_nr_socks);
sock_init_data(sock,sk);
+ lockdep_reinit_lock_key(&sk->sk_receive_queue.lock,
+ &af_unix_sk_receive_queue_lock_key);
sk->sk_write_space = unix_write_space;
sk->sk_max_ack_backlog = sysctl_unix_max_dgram_qlen;
@@ -1073,12 +1083,12 @@ restart:
unix_state_wunlock(sk);
/* take ten and and send info to listening sock */
- spin_lock_bh(&other->sk_receive_queue.lock);
+ spin_lock(&other->sk_receive_queue.lock);
__skb_queue_tail(&other->sk_receive_queue, skb);
/* Undo artificially decreased inflight after embrion
* is installed to listening socket. */
atomic_inc(&newu->inflight);
- spin_unlock_bh(&other->sk_receive_queue.lock);
+ spin_unlock(&other->sk_receive_queue.lock);
unix_state_runlock(other);
other->sk_data_ready(other, 0);
sock_put(other);
@@ -1843,7 +1853,7 @@ static int unix_ioctl(struct socket *soc
break;
}
- spin_lock_bh(&sk->sk_receive_queue.lock);
+ spin_lock(&sk->sk_receive_queue.lock);
if (sk->sk_type == SOCK_STREAM ||
sk->sk_type == SOCK_SEQPACKET) {
skb_queue_walk(&sk->sk_receive_queue, skb)
@@ -1853,7 +1863,7 @@ static int unix_ioctl(struct socket *soc
if (skb)
amount=skb->len;
}
- spin_unlock_bh(&sk->sk_receive_queue.lock);
+ spin_unlock(&sk->sk_receive_queue.lock);
err = put_user(amount, (int __user *)arg);
break;
}
Index: linux/net/unix/garbage.c
===================================================================
--- linux.orig/net/unix/garbage.c
+++ linux/net/unix/garbage.c
@@ -235,7 +235,7 @@ void unix_gc(void)
struct sock *x = pop_stack();
struct sock *sk;
- spin_lock_bh(&x->sk_receive_queue.lock);
+ spin_lock(&x->sk_receive_queue.lock);
skb = skb_peek(&x->sk_receive_queue);
/*
@@ -270,7 +270,7 @@ void unix_gc(void)
maybe_unmark_and_push(skb->sk);
skb=skb->next;
}
- spin_unlock_bh(&x->sk_receive_queue.lock);
+ spin_unlock(&x->sk_receive_queue.lock);
sock_put(x);
}
@@ -283,7 +283,7 @@ void unix_gc(void)
if (u->gc_tree == GC_ORPHAN) {
struct sk_buff *nextsk;
- spin_lock_bh(&s->sk_receive_queue.lock);
+ spin_lock(&s->sk_receive_queue.lock);
skb = skb_peek(&s->sk_receive_queue);
while (skb &&
skb != (struct sk_buff *)&s->sk_receive_queue) {
@@ -298,7 +298,7 @@ void unix_gc(void)
}
skb = nextsk;
}
- spin_unlock_bh(&s->sk_receive_queue.lock);
+ spin_unlock(&s->sk_receive_queue.lock);
}
u->gc_tree = GC_ORPHAN;
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] undo AF_UNIX _bh locking changes and split lock-type instead
2006-06-12 8:49 ` Ingo Molnar
@ 2006-06-12 20:08 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2006-06-12 20:08 UTC (permalink / raw)
To: mingo
Cc: akpm, Valdis.Kletnieks, herbert, netdev, linux-kernel, stefanr,
jirislaby, linux1394-devel, mingo, arjan
From: Ingo Molnar <mingo@elte.hu>
Date: Mon, 12 Jun 2006 10:49:36 +0200
> Subject: undo AF_UNIX _bh locking changes and split lock-type
> From: Ingo Molnar <mingo@elte.hu>
>
> this cleans up lock-validator-special-locking-af_unix.patch: instead
> of adding _bh locking to AF_UNIX, this patch splits their
> sk_receive_queue.lock type from the other networking skb-queue locks.
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2006-06-12 20:08 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200606060250.k562oCrA004583@turing-police.cc.vt.edu>
[not found] ` <44852819.2080503@gmail.com>
[not found] ` <4485798B.4030007@s5r6.in-berlin.de>
2006-06-06 16:39 ` 2.6.17-rc5-mm3-lockdep - Stefan Richter
2006-06-07 7:12 ` Herbert Xu
2006-06-12 6:38 ` Ingo Molnar
2006-06-12 6:41 ` Herbert Xu
2006-06-12 6:57 ` [patch] undo AF_UNIX _bh locking changes and split lock-type instead Ingo Molnar
2006-06-12 7:03 ` Herbert Xu
2006-06-12 7:18 ` David Miller
2006-06-12 8:49 ` Ingo Molnar
2006-06-12 20:08 ` David Miller
2006-06-12 6:50 ` 2.6.17-rc5-mm3-lockdep - David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).