Thread (27 messages) 27 messages, 7 authors, 2021-03-08

Re: [RFC PATCH v2 00/13] Add futex2 syscall

From: André Almeida <hidden>
Date: 2021-03-04 19:17:22
Also in: linux-kselftest, lkml

Hi Ted,

Às 12:01 de 04/03/21, Theodore Ts'o escreveu:
On Wed, Mar 03, 2021 at 09:42:06PM -0300, André Almeida wrote:
quoted
  ** Performance

  - For comparing futex() and futex2() performance, I used the artificial
    benchmarks implemented at perf (wake, wake-parallel, hash and
    requeue). The setup was 200 runs for each test and using 8, 80, 800,
    8000 for the number of threads, Note that for this test, I'm not using
    patch 14 ("kernel: Enable waitpid() for futex2") , for reasons explained
    at "The patchset" section.
How heavily contended where the benchmarks?  One of the benefits of
the original futex was that no system call was necessary in the happy
path when the lock is uncontended.  
futex2 has the same design in that aspect, no syscall is needed in the 
happy path. Did something in the cover letter gave the impression that 
is not the case? I would like to reword it to clarify this.
Especially on a non-NUMA system
(which are the far more common case), since that's where relying on a
single memory access was a huge win for the original futex.  I would
expect that futex2 will fare worse in this particular case, since it
requires a system call entry for all operations --- the question is
how large is the delta in this worst case (for futex2) and best case
(for futex) scenario.

Cheers,

						- Ted
Thanks,
	André
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help