Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Nov 2010 15:01:16 -0700
From:      Julian Elischer <julian@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        mdf@freebsd.org, freebsd-current@freebsd.org, Andriy Gapon <avg@icyb.net.ua>
Subject:   Re: MTX_DEF versus MTX_SPIN
Message-ID:  <4CD1DBAC.6050004@freebsd.org>
In-Reply-To: <4CD1A14E.8060508@freebsd.org>
References:  <AANLkTi=12-dSAZ21DbZgw36YbRGiUq4KZbyCx3SjucPG@mail.gmail.com>	<4CD190EF.5080600@icyb.net.ua>	<AANLkTimmiQ9VH=cr%2BPJ4Hz=h1Oua%2Bouj7CAv8L__JeNn@mail.gmail.com>	<201011031317.36332.jhb@freebsd.org> <4CD1A14E.8060508@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/3/10 10:52 AM, Julian Elischer wrote:
> On 11/3/10 10:17 AM, John Baldwin wrote:
>> On Wednesday, November 03, 2010 1:04:13 pm mdf@freebsd.org wrote:
>>>
>>> So a MTX_DEF is okay in that environment?
>> Yes.  In fact, the reason to have threads for interrupt handlers is 
>> to allow
>> interrupt handlers to use non-spin locks that block when the lock 
>> is held.
>>
>> MTX_SPIN locks are generally not needed in device drivers.  The 
>> only reason a
>> driver would use one is if it used a filter handler which does not 
>> run in a
>> threaded context.
>
oops
a line got deleted I think..
> It should be noted that in the case where you really just want to 
> spin a few
> instructions because some other thread is accessing a structure you 
> want,
  ... then the BTX_DEF code will spin for a short while before ...
> descheduling you. so you don't always incur the scheduling overhead.
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to 
> "freebsd-current-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CD1DBAC.6050004>