svn commit: r212115 - head/sys/kern

mdf at FreeBSD.org mdf at FreeBSD.org
Wed Sep 1 22:17:07 UTC 2010


On Wed, Sep 1, 2010 at 2:31 PM, John Baldwin <jhb at freebsd.org> wrote:
> On Wednesday, September 01, 2010 4:32:48 pm Matthew D Fleming wrote:
>> Author: mdf
>> Date: Wed Sep  1 20:32:47 2010
>> New Revision: 212115
>> URL: http://svn.freebsd.org/changeset/base/212115
>>
>> Log:
>>   Fix a bug with sched_affinity() where it checks td_pinned of another
>>   thread in a racy manner, which can lead to attempting to migrate a
>>   thread that is pinned to a CPU.  Instead, have sched_switch() determine
>>   which CPU a thread should run on if the current one is not allowed.
>>
>>   KASSERT in sched_bind() that the thread is not yet pinned to a CPU.
>>
>>   KASSERT in sched_switch() that only migratable threads or those moving
>>   due to a sched_bind() are changing CPUs.
>>
>>   sched_affinity code came from jhb at .
>>
>>   MFC after:  2 weeks
>
> Cool, I guess this fixed it in your tests then?

Yes, the stress case I pointed out in the earlier thread ran for quite
a few minutes before I killed it.  Previously it would crash (with the
added assert) in a few seconds.

Thanks,
matthew


More information about the svn-src-all mailing list