svn commit: r289279 - in head/sys: kern vm
Eric van Gyzen
eric at vangyzen.net
Thu Oct 29 20:31:35 UTC 2015
On 10/29/2015 15:25, Tijl Coosemans wrote:
> On Wed, 14 Oct 2015 02:10:07 +0000 (UTC) Jeff Roberson <jeff at FreeBSD.org> wrote:
>> Author: jeff
>> Date: Wed Oct 14 02:10:07 2015
>> New Revision: 289279
>> URL: https://svnweb.freebsd.org/changeset/base/289279
>>
>> Log:
>> Parallelize the buffer cache and rewrite getnewbuf(). This results in a
>> 8x performance improvement in a micro benchmark on a 4 socket machine.
>>
>> - Get buffer headers from a per-cpu uma cache that sits in from of the
>> free queue.
>> - Use a per-cpu quantum cache in vmem to eliminate contention for kva.
>> - Use multiple clean queues according to buffer cache size to eliminate
>> clean queue lock contention.
>> - Introduce a bufspace daemon that attempts to prevent getnewbuf() callers
>> from blocking or doing direct recycling.
>> - Close some bufspace allocation races that could lead to endless
>> recycling.
>> - Further the transition to a more modern style of small functions grouped
>> by prefix in order to improve growing complexity.
>
> I have an i386 system that locks up easily after this commit. Booting
> into single user and running make installkernel triggers it consistently.
I can't help you debug this, but I noticed a follow-up commit that fixed
an uninitialized pointer introduced by this commit:
https://svnweb.freebsd.org/changeset/base/290155
Pending comments from more enlightened folk, you might try updating to
that rev (if you can do so without a lockup...).
Eric
More information about the svn-src-all
mailing list