jeff e3be9f8fb6 Further parallelize the buffer cache.
Provide multiple clean queues partitioned into 'domains'.  Each domain manages
its own bufspace and has its own bufspace daemon.  Each domain has a set of
subqueues indexed by the current cpuid to reduce lock contention on the cleanq.

Refine the sleep/wakeup around the bufspace daemon to use atomics as much as
possible.

Add a B_REUSE flag that is used to requeue bufs during the scan to approximate
LRU rather than locking the queue on every use of a frequently accessed buf.

Implement bufspace_reserve with only atomic_fetchadd to avoid loop restarts.

Reviewed by:	markj
Tested by:	pho
Sponsored by:	Netflix, Dell/EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D14274
2018-02-20 00:06:07 +00:00
..
2017-11-30 20:33:45 +00:00
2018-01-03 00:56:30 +00:00
2018-01-03 00:56:30 +00:00
2018-02-19 00:38:14 +00:00
2017-01-25 20:22:32 +00:00
2018-02-07 16:57:10 +00:00
2017-12-13 16:30:39 +00:00
2018-01-24 13:57:01 +00:00
2017-08-07 14:09:57 +00:00
2017-11-30 20:33:45 +00:00
2018-01-12 23:06:35 +00:00
2018-01-22 02:26:10 +00:00
2017-12-01 22:51:02 +00:00