Re: [PATCH -tip] introduce sys_membarrier(): process-wide memory barrier (v9)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Mathieu Desnoyers
Date: Tuesday, March 2, 2010 - 4:07 pm

* Josh Triplett (josh@joshtriplett.org) wrote:

Thanks!


Citing the patch changelog:

Results in liburcu:

Operations in 10s, 6 readers, 2 writers:

(what we previously had)
memory barriers in reader: 973494744 reads, 892368 writes
signal-based scheme:      6289946025 reads,   1251 writes

(what we have now, with dynamic sys_membarrier check, expedited scheme)
memory barriers in reader: 907693804 reads, 817793 writes
sys_membarrier scheme:    4316818891 reads, 503790 writes

So basically, yes, there is a significant overhead on the read-side if we
compare the dynamic check (0.39 ns/read per reader) to the signal-based scheme
(0.26 ns/read per reader) (which only needs the barrier()). On the update-side,
we cannot care less though.


Yes, definitely. It could also be useful to switch between UP and SMP primitives
dynamically when spawning the second thread in a process. We should be careful
when sharing memory maps between processes though.

Thanks,

Mathieu


-- 
Mathieu Desnoyers
Operating System Efficiency Consultant
EfficiOS Inc.
http://www.efficios.com
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH -tip] introduce sys_membarrier(): process-wide memo ..., Mathieu Desnoyers, (Thu Feb 25, 4:23 pm)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Mon Mar 1, 7:25 am)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Tue Mar 2, 4:07 pm)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Thu Mar 4, 8:52 am)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Thu Mar 4, 9:03 am)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Thu Mar 4, 10:56 am)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Tue Mar 9, 9:16 pm)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Mon Mar 15, 1:53 pm)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Tue Mar 16, 6:05 am)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Tue Mar 16, 6:35 am)
Re: [PATCH -tip] introduce sys_membarrier(): process-wide ..., Mathieu Desnoyers, (Tue Mar 16, 7:16 am)