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
--