Subject: Re: port-xen/29851: CALLBACK_IN_BLOCKING_CONTEXT callbacks can not
To: None <port-xen-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 04/02/2005 01:39:01
The following reply was made to PR port-xen/29851; it has been noted by GNATS.

From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
To: bouyer@antioche.lip6.fr
Cc: gnats-bugs@NetBSD.org, 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: Sat, 02 Apr 2005 10:08:33 +0900

 > 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.
 
 at least, xbdback and xennetback do some sleepable operations
 in their callback.  VOP_*, vn_close, if_attach, ether_ifattach, ...
 am i misunderstanding?
 
 YAMAMOTO Takashi