Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2014 12:08:09 -0500
From:      Alan Cox <alc@rice.edu>
To:        Alexander Motin <mav@FreeBSD.org>, 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:  <5419BFF9.9080907@rice.edu>
In-Reply-To: <5419BAD7.4000600@FreeBSD.org>
References:  <201409171406.s8HE6LNu071461@svn.freebsd.org> <5419B3E1.1090703@freebsd.org> <5419BAD7.4000600@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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."


>> 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().
>




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