Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Apr 2012 21:27:30 +0200
From:      "K. Macy" <kmacy@freebsd.org>
To:        Slawa Olhovchenkov <slw@zxy.spb.ru>
Cc:        freebsd-performance@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: pmap and mtx scalability problem
Message-ID:  <CAHM0Q_PEe18-4yfrHPujUWxsvWTUuP2-0QvJtWOh2f=igjqh=A@mail.gmail.com>
In-Reply-To: <20120424191415.GE76983@zxy.spb.ru>
References:  <20120424191415.GE76983@zxy.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Known problem. There is an open disagreement about how to improve the
granularity of locking in pmap.

-Kip

On Tue, Apr 24, 2012 at 9:14 PM, Slawa Olhovchenkov <slw@zxy.spb.ru> wrote:
> I treid make -j 30 build{world,kernel} (latest -CURRENT) on 24-core machi=
ne and see poor
> scalability of pmap/mtx -- more then 50% cpu spend on system time.
>
> pmcstat:
>
> @ CPU_CLK_UNHALTED_CORE [194841 samples]
>
> 42.65% =A0[83102] =A0 =A0_mtx_lock_sleep @ /boot/kernel/kernel
> =A040.97% =A0[34051] =A0 =A0 pmap_enter
> =A0100.0% =A0[34051] =A0 =A0 =A0vm_fault_hold
> =A0 100.0% =A0[34051] =A0 =A0 =A0 trap_pfault
> =A030.40% =A0[25262] =A0 =A0 vm_page_activate
> =A0100.0% =A0[25262] =A0 =A0 =A0vm_fault_hold
> =A0 100.0% =A0[25262] =A0 =A0 =A0 trap_pfault
> =A018.41% =A0[15300] =A0 =A0 vm_pageq_remove
> =A073.63% =A0[11266] =A0 =A0 =A0vm_page_free_toq
> =A0 70.69% =A0[7964] =A0 =A0 =A0 =A0vm_object_terminate
> =A0 29.31% =A0[3302] =A0 =A0 =A0 =A0vm_object_page_remove
> =A026.37% =A0[4034] =A0 =A0 =A0 vm_fault_hold
> =A0 100.0% =A0[4034] =A0 =A0 =A0 =A0trap_pfault
>
> make -j 8:
>
> 15.44% =A0[10740] =A0 =A0_mtx_lock_sleep @ /boot/kernel/kernel
> =A038.77% =A0[4164] =A0 =A0 =A0pmap_enter
> =A099.93% =A0[4161] =A0 =A0 =A0 vm_fault_hold
> =A0 100.0% =A0[4161] =A0 =A0 =A0 =A0trap_pfault
> =A000.07% =A0[3] =A0 =A0 =A0 =A0 =A0kmem_back
> =A0 100.0% =A0[3] =A0 =A0 =A0 =A0 =A0 kmem_malloc
> =A027.98% =A0[3005] =A0 =A0 =A0vm_page_activate
> =A0100.0% =A0[3005] =A0 =A0 =A0 vm_fault_hold
> =A0 100.0% =A0[3005] =A0 =A0 =A0 =A0trap_pfault
> =A020.64% =A0[2217] =A0 =A0 =A0vm_pageq_remove
> =A064.73% =A0[1435] =A0 =A0 =A0 vm_page_free_toq
> =A0 63.41% =A0[910] =A0 =A0 =A0 =A0 vm_object_terminate
>
> make -j 4
>
> 06.86% =A0[4222] =A0 =A0 pagezero @ /boot/kernel/kernel
> =A098.39% =A0[4154] =A0 =A0 =A0trap_pfault
> =A0100.0% =A0[4154] =A0 =A0 =A0 trap
> =A001.11% =A0[47] =A0 =A0 =A0 =A0vm_fault_hold
>
> _______________________________________________
> freebsd-performance@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-performance
> To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd=
.org"



--=20
=A0 =A0=93The real damage is done by those millions who want to 'get by.'
The ordinary men who just want to be left in peace. Those who don=92t
want their little lives disturbed by anything bigger than themselves.
Those with no sides and no causes. Those who won=92t take measure of
their own strength, for fear of antagonizing their own weakness. Those
who don=92t like to make waves=97or enemies.

=A0 =A0Those for whom freedom, honour, truth, and principles are only
literature. Those who live small, love small, die small. It=92s the
reductionist approach to life: if you keep it small, you=92ll keep it
under control. If you don=92t make any noise, the bogeyman won=92t find
you.

=A0 =A0But it=92s all an illusion, because they die too, those people who
roll up their spirits into tiny little balls so as to be safe. Safe?!
>From what? Life is always on the edge of death; narrow streets lead to
the same place as wide avenues, and a little candle burns itself out
just like a flaming torch does.

=A0 =A0I choose my own way to burn.=94

=A0 =A0Sophie Scholl



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHM0Q_PEe18-4yfrHPujUWxsvWTUuP2-0QvJtWOh2f=igjqh=A>