We have a single-writer / multiple-readers lock on *any particular byte*
of a vnode. The rangelock code is what keeps track of this, and the
locking contention I was reducing was in the rangelock bookkeeping.
So, for example, if multiple processes or multiple threads read or
write a file
On 08/16/13 02:38, Ivan Voras wrote:
We have a single-writer / multiple-readers lock on *any particular byte*
of a vnode. The rangelock code is what keeps track of this, and the
locking contention I was reducing was in the rangelock bookkeeping.
So, for example, if multiple processes or
Author: cperciva
Date: Thu Aug 15 20:19:17 2013
New Revision: 254380
URL: http://svnweb.freebsd.org/changeset/base/254380
Log:
Change the queue of locks in kern_rangelock.c from holding lock requests in
the order that they arrive, to holding
(a) granted write lock requests, followed by
On 15 August 2013 22:19, Colin Percival cperc...@freebsd.org wrote:
For workloads with R parallel reads and W parallel writes, this improves
the time spent from O((R+W)^2) to O(W*(R+W)); i.e., heavy parallel-read
workloads become significantly more scalable.
No statistically
On 08/15/13 13:29, Ivan Voras wrote:
On 15 August 2013 22:19, Colin Percival cperc...@freebsd.org wrote:
For workloads with R parallel reads and W parallel writes, this improves
the time spent from O((R+W)^2) to O(W*(R+W)); i.e., heavy parallel-read
workloads become significantly more
On 15 August 2013 22:32, Colin Percival cperc...@freebsd.org wrote:
No, I wasn't aware that it existed. Given that this change applies only to
parallel operations *on the same vnode* and blogbench seems to have traffic
randomly spread between many files, I doubt there would be any difference.
On 08/15/13 14:34, Ivan Voras wrote:
On 15 August 2013 22:32, Colin Percival cperc...@freebsd.org wrote:
No, I wasn't aware that it existed. Given that this change applies only to
parallel operations *on the same vnode* and blogbench seems to have traffic
randomly spread between many files, I