Subject: Re: port-xen/29851: CALLBACK_IN_BLOCKING_CONTEXT callbacks can not block
To: None <port-xen-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: netbsd-bugs
Date: 04/01/2005 16:45:01
The following reply was made to PR port-xen/29851; it has been noted by GNATS.

From: Manuel Bouyer <bouyer@antioche.lip6.fr>
To: gnats-bugs@NetBSD.org
Cc: port-xen-maintainer@NetBSD.org, gnats-admin@NetBSD.org,
	netbsd-bugs@NetBSD.org
Subject: Re: port-xen/29851: CALLBACK_IN_BLOCKING_CONTEXT callbacks can not block
Date: Fri, 1 Apr 2005 18:44:04 +0200

 On Fri, Apr 01, 2005 at 12:31:00AM +0000, yamt@mwd.biglobe.ne.jp wrote:
 > Machine: i386
 > >Description:
 > 	even with CALLBACK_IN_BLOCKING_CONTEXT,
 > 	the callback will be called at softintr context.
 > 	thus it can not block.
 
 They can't tlseep() but they can block busy-waiting for a highter-priority
 interrupt (this is what the if_xennet.c driver does).
 I agree that the name CALLBACK_IN_BLOCKING_CONTEXT desn't match what the
 code allows, but I don't think anything tries to tlseep() in a callback
 in the current code.
 
 -- 
 Manuel Bouyer <bouyer@antioche.eu.org>
      NetBSD: 26 ans d'experience feront toujours la difference
 --