Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2014 20:35:59 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Alan Cox <alc@rice.edu>, Andrey Chernov <ache@freebsd.org>,  src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   Re: svn commit: r271707 - stable/10/sys/kern
Message-ID:  <5419C67F.90808@FreeBSD.org>
In-Reply-To: <5419BFF9.9080907@rice.edu>
References:  <201409171406.s8HE6LNu071461@svn.freebsd.org> <5419B3E1.1090703@freebsd.org> <5419BAD7.4000600@FreeBSD.org> <5419BFF9.9080907@rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 17.09.2014 20:08, Alan Cox wrote:
> On 09/17/2014 11:46, Alexander Motin wrote:
>> On 17.09.2014 19:16, Andrey Chernov wrote:
>>> On 17.09.2014 18:06, Alexander Motin wrote:
>>>> +	/*
>>>> +	 * Make sure that tdq_load updated before calling this function
>>>> +	 * is globally visible before we read tdq_cpu_idle.  Idle thread
>>>> +	 * accesses both of them without locks, and the order is important.
>>>> +	 */
>>>> +	mb();
>>>> +
>>>>  	if (TD_IS_IDLETHREAD(ctd)) {
>>> I don't understand this comment's first phrase with two verbs. Copy &
>>> paste result?
>> No, only possibly missing commas around "updated before calling this
>> function".
> 
> 
> Commas alone don't fix the problem.  I think what you're trying to say is:
> 
> "Make sure that our caller's earlier update to tdq_load is globally
> visible before we read tdq_cpu_idle."

Yes, that was my intention. Thank you. Please excuse my non-native
English and correct it as you feel better.

Andrey, would that reveal your questions?

>>> I also don't see tdq_load access in this function.
>> It is incremented by tdq_load_add(), called by tdq_add(), called by
>> sched_add(), just before calling tdq_notify().

-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5419C67F.90808>