Date: Fri, 25 May 2007 02:04:18 -0500 From: Alan Cox <alc@cs.rice.edu> To: attilio@FreeBSD.org Cc: alc@freebsd.org, arch@freebsd.org, Jeff Roberson <jeff@freebsd.org>, Bruce Evans <bde@optusnet.com.au> Subject: Re: sched_lock && thread_lock() Message-ID: <46568A72.3020406@cs.rice.edu> In-Reply-To: <4655C67A.9060000@FreeBSD.org> References: <20070520155103.K632@10.0.0.1> <20070521113648.F86217@besplex.bde.org> <20070520213132.K632@10.0.0.1> <4651CAB8.8070007@FreeBSD.org> <4651CE2F.8080908@FreeBSD.org> <20070521022847.D679@10.0.0.1> <20070521195811.G56785@delplex.bde.org> <4651FCB5.7070604@FreeBSD.org> <20070521225032.C57233@delplex.bde.org> <20070522162819.N5249@besplex.bde.org> <20070522201336.C87981@besplex.bde.org> <46533CAD.8030104@FreeBSD.org> <4655C67A.9060000@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Attilio Rao wrote: > Attilio Rao wrote: > >> Bruce Evans wrote: >> >>> 4 more translation errors breaking 8 counters altogether (v_vnodepgsin >>> is broken twice): >> >> >> Thanks a lot for the revision, there will be a pending patch in the >> next hour. > > > Hello, > Let me know if this patch is right for you and if you have feedbacks, > comments, etc: > http://users.gufi.org/~rookie/works/patches/schedlock/vmmeter3.diff > > This should fix translation errors Bruce has found and switching the > _SET() method in order to being a simple assignment (as Bruce has > suggested). I think there are still translation errors in vnode_pager.c: This increment by 1 of cnt.v_vnodepgsin is incorrect: @@ -909,8 +909,8 @@ bp->b_runningbufspace = bp->b_bufsize; atomic_add_int(&runningbufspace, bp->b_runningbufspace); - VMCNT_ADD(vnodein, 1); - VMCNT_ADD(vnodepgsin, 1); + PCPU_LAZY_INC(cnt.v_vnodein); + PCPU_LAZY_INC(cnt.v_vnodepgsin); /* do the input */ bp->b_iooffset = dbtob(bp->b_blkno); Please double-check the others. Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46568A72.3020406>