PERFORCE change 100089 for review
Kip Macy
kip.macy at gmail.com
Tue Jun 27 08:27:29 UTC 2006
actually it shows up - assuming I haven't missed any cases its pretty
uncontended:
t1# sort -nrk 3 foo33 | grep -n rwlock
111: 1 26 553 38 0 14
1 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:311
(unp_global_rwlock)
126: 2 42 349 38 1 9
0 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:482
(unp_global_rwlock)
130: 7 184 282 38 4 7
2 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:836
(unp_global_rwlock)
135: 2 33 240 19 1 12
0 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:1196
(unp_global_rwlock)
137: 0 6 234 19 0 12
0 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:446
(unp_global_rwlock)
155: 21 305 120 19 16 6
1 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:496
(unp_global_rwlock)
161: 1 14 89 19 0 4
0 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:1101
(unp_global_rwlock)
428: 61 808 1 19 42 0
2 0
/flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/uipc_usrreq.c:1125
(unp_global_rwlock)
On 6/26/06, Kip Macy <kip.macy at gmail.com> wrote:
> I've mapped your uipc_usrreq.c into my tree and have seen a measurable
> boost. I actually see no contention on it. If I go into overload (16
> threads) I see the following:
>
> 65 13580255 555960120 4332486 3 128 22050892
> 4323043 /flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/kern_synch.c:217
> (lockbuilder mtxpool)
> 13 24053476 160697931 92708398 0 1 30726211
> 0 /flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/kern_switch.c:522
> (runq lock)
> 371 63389470 27487168 936871 67 29 5918460
> 640938 /flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/kern_lock.c:163
> (lockbuilder mtxpool)
> 39 36405448 10970117 4748316 7 2 4132590
> 0 /flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/kern_switch.c:221
> (runq lock)
> 361 85861725 10866103 5699832 15 1 3813907
> 0 /flatstor/shared/p4/sun4v/work_sleepq/src/sys/kern/subr_sleepqueue.c:223
> (sleepq chain)
>
> lockmgr is my biggest problem now.
>
> On 6/26/06, Robert Watson <rwatson at freebsd.org> wrote:
> > On Mon, 26 Jun 2006, John Baldwin wrote:
> >
> > > On Monday 26 June 2006 16:54, Kip Macy wrote:
> > >> http://perforce.freebsd.org/chv.cgi?CH=100089
> > >>
> > >> Change 100089 by kmacy at kmacy_storage:sun4v_work_sleepq on 2006/06/26
> > > 20:53:51
> > >>
> > >> add profiling for rwlocks
> > >> not convinced of correctness as there don't appear to be any contended
> > > rwlocks on my workloads
> > >
> > > Few things use them currently. I have a patch to make the name cache use
> > > them if you want it.
> >
> > You may already have seen this, but I have a UNIX domain socket re-locking in
> > //depot/user/rwatson/proto/src/sys/kern/uipc_usrreq.c that uses rwlocks and
> > finer-grained mutexes, among other things. Ideally this can generate some
> > contention (although perhaps not too much).
> >
> > Robert N M Watson
> > Computer Laboratory
> > University of Cambridge
> >
>
More information about the p4-projects
mailing list