On 10/29/2015 1:31 PM, Eric van Gyzen wrote: > On 10/29/2015 15:25, Tijl Coosemans wrote: >> On Wed, 14 Oct 2015 02:10:07 +0000 (UTC) Jeff Roberson <j...@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...).
I didn't analyze it enough to know if my change was fixing an actual bug and in what case. I think if so it is more likely to have random panics then a consistent lock up though. -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature