On 17.09.2014 21:35, Alexander Motin wrote:
> 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
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 w
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
>>> +
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 th
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(
Author: mav
Date: Wed Sep 17 14:06:21 2014
New Revision: 271707
URL: http://svnweb.freebsd.org/changeset/base/271707
Log:
MFC r271604, r271616:
Add couple memory barriers to order tdq_cpu_idle and tdq_load accesses.
This change fixes transient performance drops in some of my benchmarks,