tech-kern archive

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

Re: mutexes, IPL, tty locking



hi,

> On Thu, Oct 22, 2009 at 12:32:12PM +0100, Mindaugas Rasiukevicius wrote:
>  > IPL is only being raised and that works in reference counting principle.
>  > Therefore IPL is lowered (and only to IPL_NONE) after the last release,
>  > see ci_mtx_oldspl and ci_mtx_count.  Which means that order of releases
>  > does not matter.  Gradual IPL lowering would unnecessary complicate the
>  > implementation or interface.
> 
> Not that much. Here's some strawman code based on what's in one of my
> kernels, adapted partly for NetBSD. It isn't tested (and doesn't
> compile) but the original form does of course compile, run, and work
> in its own environment.
> 
> I'm not suggesting that we use this as such (and it would take quite a
> bit of work to merge it) but I think the general approach is worth
> considering.

i don't think it's worth to do at this point because
- much complexity for little gain.
- it involves more frequent change of the effective IPL, which might
  be expensive.

otoh, given that we have multi levels of hw interrupts, spin locks can
be nested even for not-so-poor code.  it might be worth to reinvestigate
at some point later.  (when more interrupt handlers get mp-safe.)
however, even if it turns out to be a problem, my bet is that moving
more work from hw interrupt to softint is a better solution.

YAMAMOTO Takashi


Home | Main Index | Thread Index | Old Index