[Libre-soc-bugs] [Bug 236] Atomics Standard writeup needed

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Jul 19 19:48:55 BST 2022


https://bugs.libre-soc.org/show_bug.cgi?id=236

--- Comment #38 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #37)

> I'm assuming by "process" you really mean threads.

makes no odds, if you consider threads to be easier to check correctness, go
for it. watch out for threading in libc6 transparently doing locking without
your knowledge on data structures and system calls though.

> >    such as these (or other already present in the linux kernel
> >    and other common libraries)
> >    http://www.rdrop.com/~paulmck/scalability/paper/N2745r.2011.03.04a.html
> > 5) have an option to use the "eh" hints that Paul mentioned are in
> >    Power ISA 3.1 p1077 eh hint
> > 6) time the operations ("time ./locktest" would do).
> 
> no, it has poor accuracy for shorter times...

i was thinking of the order of tens of seconds per run.

> well, for the purposes of research it would be quite handy to see what
> assembly is used for each standard atomic operation without having to run
> the compiler yourself or write the input c program.

sorry, yes, that's what i meant: find out what the libraries do and
explicitly implement it in assembler. otherwise we have no concrete
direct evidence to present to OPF ISA WG.

> > if the locking remains linear
> it won't due to hyperthreads on the same core conflicting with each
> other...expect at least an inflection point at 18 threads since that's where
> it has to start sharing cores between multiple threads.

as POWER9 is multi-issue that assumption may not hold [if they did a decent
job]. be really interesting to find out.

> even if they do work, we still will want improvements to support atomic
> fadd, fmin/fmax, and a few others.

priority is to demonstrate first that we know what the hell we're talking
about.

> atomics, as well as parking_lot's performance (we'll need to use Rust for
> parking_lot, since it is a Rust library).
> 
> parking_lot is used by firefox.

we are directly testing and exploring IBM hardware, not the capability of a
library that runs *on* IBM hardware.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list