On Tue, Mar 01, 2005 at 06:04:27PM -0500, Bosko Milekic wrote:

> This does not appear to explain the livelock.

alc and dwhite tracked it down to a missing volatile causing gcc to
mis-optimize the loop:

-               cnt = *(m->m_ext.ref_cnt);
+               cnt = *(volatile u_int *)(m->m_ext.ref_cnt);

I'm currently testing that.

Kris

Attachment: pgpbIsahD1R9m.pgp
Description: PGP signature

Reply via email to