Fast sigblock (AKA rtld speedup)

Konstantin Belousov kostikbel at gmail.com
Sun Jan 13 15:06:47 UTC 2013


On Sun, Jan 13, 2013 at 07:50:14AM -0700, Ian Lepore wrote:
> On Sat, 2013-01-12 at 15:04 -0800, John-Mark Gurney wrote:
> > David Xu wrote this message on Tue, Jan 08, 2013 at 13:09 +0800:
> > > and can not be freed until process is exited, the page is doubly
> > > mapped into in kernel and userland, accessing the shared data
> > > in kernel has zero overhead though.
> > 
> > Don't forget that there are arches out there w/ VIVT caches which will
> > probably eliminate most of the performance benifits if we have the same
> > page mapped writable in two different virtual addresses..
> > 
> 
> Even worse than eliminate the benefits, since multiple mappings with one
> writable disables caching on the whole page, there can be a big penalty
> depending on what other data is nearby that suddenly becomes
> uncacheable.  I was initially very interested in the work to read system
> clocks without a syscall until I realized it was going to suffer from
> the same problem.

Since only kernel writes to the shared page, it should be not a problem.
At least there is a specific point where you can insert the neccessary
cache flush commands.

Also, I suspect that even for arms, the writes are executed from the
same core, which could simplify things even more.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20130113/90d9d549/attachment.sig>


More information about the freebsd-arch mailing list