Subject: Re: splx() optimization [was Re: SMP re-eetrancy in "bottom half" drivers]
To: Bill Studenmund <wrstuden@netbsd.org>
From: Tonnerre <tonnerre@thundrix.ch>
List: tech-kern
Date: 06/02/2005 19:53:28
--Q68bSM7Ycu6FN28Q
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Salut,

On Wed, Jun 01, 2005 at 11:35:35PM -0700, Bill Studenmund wrote:
> I thought the point was that interrupt handlers now will use spin locks t=
o=20
> protect their data. When an interrupt handler runs, it will run with SPL=
=20
> set to block its interrupt on the CPU it's on, and it will also grab a=20
> spinlock so that no other CPU services this interrupt (and also keep othe=
r=20
> processing that would now block interrupts out of the data).

I remember documents stating that it's not a problem if two CPUs serve the
same softint, it would only give you trouble for hardware interrupts,
obviously. Good enough locking should ensure that two CPUs processing the
same softint won't interfere with each other.

Otherwise it might be good to simply not do softint processing if another
CPU does it at the moment, instead of spinning like we do now.

				Tonnerre

--Q68bSM7Ycu6FN28Q
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (NetBSD)

iD8DBQFCn0eYXUVlAbfmNMIRAmtWAJwOkIGnl16DpZm/AJmRK/nKAoXVFQCgh0qh
OxrIgxTGm4VuXgqZa0KBrgQ=
=0Ono
-----END PGP SIGNATURE-----

--Q68bSM7Ycu6FN28Q--