Date: Thu, 21 Dec 2000 10:41:00 -0800 From: Alfred Perlstein <bright@wintelcom.net> To: Julian Elischer <julian@elischer.org> Cc: smp@FreeBSD.ORG, archie@FreeBSD.ORG Subject: Re: looking for locking advice.. Message-ID: <20001221104100.T19572@fw.wintelcom.net> In-Reply-To: <3A424D2F.6524EC06@elischer.org>; from julian@elischer.org on Thu, Dec 21, 2000 at 10:34:23AM -0800 References: <3A424D2F.6524EC06@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
* Julian Elischer <julian@elischer.org> [001221 10:35] wrote: > > My questions are: > > Do we yet support full sleeping by interrupt threads? And if so, what is the > general > thought on this? How do we ensure that the interrupt thread is sheduled REALLY > SOON > after the lock is released. Is it preferable to sleep an interrupt thread > instead of blocking the interrupts and stopping it from happenning in the first > place? Is there a good way to tell that the caller is in an interrupt context? You really don't want to bother with this anymore, yes interrupts can block on a mutex, and only SPIN mutexes block interrupts _only_ on the processor that has a spinlock held. I wouldn't worry all too much about the distiction between interrupt execution state versus non-interrupt. Sure device nodes want to complete as soon as possible, however eventually we'll have _multiple_ software interrupt threads running on each processor so latency is reduced. As far as your netgraph hashlookup, I would use macros along the line of Jake's proctree lock, for now define them to be simple mutexes, if at a later time we have rwlocks you can easily convert it over. This is what I'm planning on doing for the af_unix listlocks. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001221104100.T19572>