public inbox for linux-rt-users@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] netlink workaround silly yield()
@ 2009-04-17 18:20 Clark Williams
  0 siblings, 0 replies; only message in thread
From: Clark Williams @ 2009-04-17 18:20 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: RT, Steven Rostedt, Arnaldo Carvalho de Melo

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thomas,

Below is a patch we added to avoid deadlocks in certain RT JVM cases.
The original was authored by rostedt and was modified further by acme.
This version applies to 2.6.29.1-rt7.

Clark


Added test for rt_task(current) to avoid deadlock with
RT task calling sched_yield()

Author: Steven Rostedt <srostedt@redhat.com>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Signed-off-by: Clark Williams <williams@redhat.com>
- ---

 net/netlink/af_netlink.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 3ae3cb8..e8f2775 100644
- --- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1046,7 +1046,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid,
 		kfree_skb(info.skb2);
 
 	if (info.delivered) {
- -		if (info.congested && (allocation & __GFP_WAIT))
+		if (info.congested && (allocation & __GFP_WAIT) && !rt_task(current))
 			yield();
 		return 0;
 	}
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (GNU/Linux)

iEYEARECAAYFAknoyF4ACgkQHyuj/+TTEp2goQCg02BMYUrzs1R+P6WCrAQ32epX
WFAAn2K5VXIQ9lwpcWFv8Ge6R0Lv2CC3
=bnHl
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-04-17 18:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-17 18:20 [PATCH] netlink workaround silly yield() Clark Williams

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox