Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-07-04 Thread Simon 'corecode' Schubert
Lately Nikos Ntarmos <[EMAIL PROTECTED]> said: > Ummm... What compiler version are you use? The pointer variant produces > faster code for me on both NetBSD/alpha (gcc 3.3.3) and Linux/x86 (gcc > 3.3.5), using both -O0 and -O2 (other compiler flags also tested with > similar results). Perhaps somet

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-07-03 Thread Nikos Ntarmos
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi there. On Sat, Jul 02, 2005 at 01:27:00PM +0300, Andriy Tkachuk wrote: > here even more refereces to memory in your variant. Ummm... What compiler version are you use? The pointer variant produces faster code for me on both NetBSD/alpha (gcc 3.3.3

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-07-02 Thread Andriy Tkachuk
mov%edx,(%eax) +22c1: 83 43 0c 04 addl $0x4,0xc(%ebx) - Original Message - From: "Nikos Ntarmos" <[EMAIL PROTECTED]> To: "ant" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Thursday, June 30, 2005 7:31 PM Subject

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-07-01 Thread Andriy Tkachuk
> if one will decide to commit first optimization (about buckets), > then there must some adjustments be made also > regarding correct statistics gathering. It seems that all is fine with statistics, i mistook. ___ freebsd-hackers@freebsd.org mailing l

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-07-01 Thread Andriy Tkachuk
> On Thursday 30 June 2005 10:35 am, Andriy Tkachuk wrote: > > I just checked the object code - you right, it almost the same: > > > > - bucket->ub_bucket[bucket->ub_cnt] = item; > > -22b9: 0f bf 43 08 movswl 0x8(%ebx),%eax > > -22bd: 8b 4d 0c mov0xc(%ebp),%ecx

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-07-01 Thread Andriy Tkachuk
> I ran ministat against your tests with 1000 sockets loop and there isn't a > lot > of difference in the user times: it was not supposed to be (the difference in the user times) ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/m

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread John Baldwin
0(%ebp) > > > - Original Message - > From: "Max Laier" <[EMAIL PROTECTED]> > To: > Cc: "ant" <[EMAIL PROTECTED]> > Sent: Thursday, June 30, 2005 3:15 PM > Subject: Re: hot path optimizations in uma_zalloc() & uma_zfree() > > > Ano

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread John-Mark Gurney
ant wrote this message on Thu, Jun 30, 2005 at 01:08 +0300: > I just tryed to make buckets management in perCPU cache like in > Solaris (see paper of Jeff Bonwick - Magazines and Vmem) > and got perfomance gain around 10% in my test program. > Then i made another minor code optimization and got ano

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread Nikos Ntarmos
Hi there. I wouldn't have gone into this if ant hadn't produced that 10% figure for the speed improvement with simply reordering of increments and dereferences (although jhb@ reported the speed-up he noticed was much less than that). I attach* a patch that: (i) incorporates ant's exchange of uc_f

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread Andriy Tkachuk
; To: Cc: "ant" <[EMAIL PROTECTED]> Sent: Thursday, June 30, 2005 3:15 PM Subject: Re: hot path optimizations in uma_zalloc() & uma_zfree() > Another optimization is very trivial, for example: > - bucket->ub_cnt--; > - item = bucket->ub_bucket[bucket->ub_cn

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread John Baldwin
On Wednesday 29 June 2005 06:08 pm, ant wrote: > Hi folks. > > I just tryed to make buckets management in perCPU cache like in > Solaris (see paper of Jeff Bonwick - Magazines and Vmem) > and got perfomance gain around 10% in my test program. > Then i made another minor code optimization and got an

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread Max Laier
On Thursday 30 June 2005 14:15, Max Laier wrote: > On Thursday 30 June 2005 00:08, ant wrote: > > @@ -2263,8 +2262,7 @@ > >if (bucket->ub_cnt < bucket->ub_entries) { > > KASSERT(bucket->ub_bucket[bucket->ub_cnt] == NULL, > > ("uma_zfree: Freeing to non free bucket index.")); > > -

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread ant
> Do you keep two buckets still? If so, this is something that I've always > intended to do, but never got around to. I'm glad someone has taken the > initiative. Will review the patch shortly. yes, shure. Linux keeps only one array, that is 2 times large of bucket and it copies half of this a

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread Jeff Roberson
On Wed, 29 Jun 2005, Robert Watson wrote: On Thu, 30 Jun 2005, ant wrote: I just tryed to make buckets management in perCPU cache like in Solaris (see paper of Jeff Bonwick - Magazines and Vmem) and got perfomance gain around 10% in my test program. Then i made another minor code optimizatio

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-30 Thread Max Laier
On Thursday 30 June 2005 00:08, ant wrote: > I just tryed to make buckets management in perCPU cache like in > Solaris (see paper of Jeff Bonwick - Magazines and Vmem) > and got perfomance gain around 10% in my test program. > Then i made another minor code optimization and got another 10%. > The p

Re: hot path optimizations in uma_zalloc() & uma_zfree()

2005-06-29 Thread Robert Watson
On Thu, 30 Jun 2005, ant wrote: I just tryed to make buckets management in perCPU cache like in Solaris (see paper of Jeff Bonwick - Magazines and Vmem) and got perfomance gain around 10% in my test program. Then i made another minor code optimization and got another 10%. The program just cre