Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: locking/synchronization changes 4.99.66->now? (broken opencrypto)




To: Thor Lancelot Simon <tls%rek.tjls.com@localhost>

Subject: Re: locking/synchronization changes 4.99.66->now? (broken opencrypto)

From: Bill Stouder-Studenmund <wrstuden%netbsd.org@localhost>

Date: Thu, 6 Nov 2008 09:37:40 -0800


On Thu, Nov 06, 2008 at 11:00:17AM -0500, Thor Lancelot Simon wrote:
> 
> It is almost as if crypto_mtx weren't mutexing, specifically around the
> TAILQ manipulation for the return queue -- it looks like the TAILQ calls
> in cryptoret() get a stale TAILQ_HEAD that points at freed data.  We tried
> putting membar_sync() before and after the traversal of the TAILQ in
> cryptoret() and crypto_ret_q_remove() but this didn't help; I'm not sure
> it should -- do these operations guarantee that *other* CPUs have all
> pending loads/stores flushed?

I'm seeing something vaguely similar with revivesa. With some local bug
fixes, I'm consistently seeing panics in the unblock-generation code, when
I pull a thread off of a sleepqueue; the TAILQ is corrupt. This is
slightly different from what you're doing in that I'm manually
manipulating the queue and not going through a main interface.

I admit it could also be that I need some memory barriers...

Take care,

Bill

Attachment: pgpNcIyQ9_FKW.pgp
Description: PGP signature


References:

locking/synchronization changes 4.99.66->now? (broken opencrypto)
From: Thor Lancelot Simon




Prev by Date: Re: locking/synchronization changes 4.99.66->now? (broken opencrypto)

Next by Date: native Xorg now used by default on some platforms

Previous by Thread: Re: locking/synchronization changes 4.99.66->now? (broken opencrypto)

Next by Thread: Re: locking/synchronization changes 4.99.66->now? (broken opencrypto)

Indexes:

reverse Date

reverse Thread

Old Index



Home | Main Index | Thread Index | Old Index