public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Hubertus Franke <frankeh@watson.ibm.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: linux-kernel@vger.kernel.org, lse-tech@lists.sourceforge.net
Subject: Re: Futexes III : performance numbers
Date: Wed, 6 Mar 2002 19:25:45 -0500	[thread overview]
Message-ID: <20020307003402.8A7503FE06@smtp.linux.ibm.com> (raw)
In-Reply-To: <E16iQrS-0005vY-00@wagner.rustcorp.com.au>
In-Reply-To: <E16iQrS-0005vY-00@wagner.rustcorp.com.au>

On Tuesday 05 March 2002 09:08 pm, Rusty Russell wrote:
> In message <20020305212210.B10A33FF04@smtp.linux.ibm.com> you write:

More on fairness. I hacked ulockflex to keep the history of lock acquisition 
and print it out after the run, so this doesn't create any overhead and
is recorded while the lock is held (history buffer is pretouched)

Read as follows
lock-aquisition   [ how often for the same process ] :   process id
                       left out if only 1

First the FUTEX_UP   later the FUTEX_UP_FAIR.
two cases (-r2 -x2) and (-r0 -x0)

Summary, its clearly seen how the fairness can be effected.
It also show the efficacy of FUTEX_UP and FUTEX_UP_FAIR.

Comments. 

./ulockflex -c 3 -a 1 -t 2 -o 5 -m 2 -R 499 -r 2 -x 1 -L f -H 2

===========================================================

(i.e.  2 usecs non-lockholdtime and 1 usec lockhold time)

----------------- UNFAIR LOCKS    == FUTEX_UP  ------------------
 <..snip...>
 1067602 [     4065 ]:     1
 1071667 [     4522 ]:     0
 1076189             :     2
 1076190 [      953 ]:     1
 1077143             :     2
 1077144 [     2875 ]:     0
 1080019 [     4800 ]:     2
 1084819             :     0
 1084820 [      968 ]:     1
 1085788             :     0
 1085789             :     1
 1085790             :     0
 1085791             :     1
 1085792             :     0
 1085793             :     1
 1085794             :     0
 1085795             :     1
 1085796             :     0
 1085797             :     1
 1085798             :     0
 1085799             :     1
 1085800             :     0
 1085801             :     1
 1085802             :     0
 1085803             :     1
 1085804             :     0
 1085805             :     1
 1085806             :     0
 1085807             :     1
 1085808             :     0
 1085809             :     1
 1085810             :     0
 1085811             :     1
 1085812             :     0
 1085813             :     2
 1085814 [        2 ]:     0
 1085816             :     2
 1085817 [     2861 ]:     1
 1088678             :     2
 1088679 [     4868 ]:     0
 1093547             :     2
 1093548 [      914 ]:     1
 1094462             :     2
 1094463 [     4829 ]:     0
 1099292             :     2
 1099293 [      963 ]:     1
 1100256             :     2
 1100257 [     4789 ]:     0
 1105046             :     2
 1105047 [      966 ]:     1
 1106013             :     2
 1106014 [     4800 ]:     0
 1110814             :     2
 1110815 [      961 ]:     1
 1111776             :     2
 1111777 [     2013 ]:     0
 1113790             :     2
 1113791             :     0
 1113792             :     2
 1113793 [     3768 ]:     1
 1117561             :     2
 1117562 [     4832 ]:     0
 1122394             :     2
 1122395 [      955 ]:     1
 1123350             :     2
 1123351 [     4813 ]:     0
 1128164             :     2
 1128165 [      982 ]:     1
 1129147             :     2
 1129148             :     1
 1129149             :     2
 1129150 [     4789 ]:     0
 1133939             :     2
 1133940             :     0
 1133941             :     2
 1133942             :     0
 1133943             :     2
 1133944 [      969 ]:     1
 1134913             :     2
 1134914 [     4841 ]:     0
 1139755             :     2
 1139756 [      967 ]:     1
 1140723             :     2
 1140724 [     4820 ]:     0
 1145544             :     2
 1145545 [      969 ]:     1
 1146514             :     2
 1146515 [     5007 ]:     0
 1151522             :     2
 1151523 [     3678 ]:     1
 1155201             :     2
 1155202 [     4756 ]:     0
 1159958             :     2
 1159959 [      978 ]:     1

--------------------------  FAIR LOCKS  == FUTEX_UP_FAIR  ----------------
  <... snip ...>
  558617             :     0
  558618             :     1
  558619             :     2
  558620             :     1
  558621             :     0
  558622             :     1
  558623             :     2
  558624             :     1
  558625             :     0
  558626             :     1
  558627             :     2
  558628             :     1
  558629             :     0
  558630             :     1
  558631             :     2
  <... and so on ....>

=================================================================.
/ulockflex -c 3 -a 1 -t 2 -o 5 -m 2 -R 499 -r 0 -x 0 -L f -H 2

===========================================================

(i.e.  0 usecs non-lockholdtime and 0 usec lockhold time)

----------------- UNFAIR LOCKS    == FUTEX_UP  ------------------
 <..snip...>
7682404 [     4593 ]:     1
 7686997             :     2
 7686998 [    16336 ]:     0
 7703334             :     2
 7703335 [    23875 ]:     1
 7727210 [        4 ]:     2
 7727214 [    20110 ]:     0
 7747324 [    13298 ]:     1
 7760622 [    11612 ]:     2
 7772234 [     8340 ]:     0
 7780574 [     6732 ]:     1
 7787306 [    13388 ]:     2
 7800694 [     3006 ]:     0
 7803700 [    17121 ]:     1
 7820821 [     6726 ]:     2
 7827547 [    13396 ]:     0
 7840943 [     6760 ]:     1
 7847703 [    13375 ]:     2
 7861078 [     4443 ]:     0
 7865521 [    15566 ]:     1
 7881087 [     6730 ]:     2
 7887817 [    13421 ]:     0
 7901238 [     3013 ]:     1
 7904251 [    16995 ]:     2
 7921246 [     6715 ]:     0
 7927961 [    13397 ]:     1
 7941358 [     6716 ]:     2
 7948074 [    13407 ]:     0
 7961481 [     6743 ]:     1
 7968224 [    13309 ]:     2
 7981533 [     6708 ]:     0
 7988241 [    13374 ]:     1
 8001615 [     3411 ]:     2
 8005026 [    16574 ]:     0
 8021600 [     7016 ]:     1

--------------------------  FAIR LOCKS  == FUTEX_UP_FAIR  ----------------
  <... snip ...>  same as for -r 2 -x 1




-- 
-- Hubertus Franke  (frankeh@watson.ibm.com)


  parent reply	other threads:[~2002-03-07  0:34 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-05  7:01 [PATCH] Futexes IV (Fast Lightweight Userspace Semaphores) Rusty Russell
2002-03-05 21:23 ` Futexes III : performance numbers Hubertus Franke
2002-03-06  2:08   ` Rusty Russell
2002-03-06 14:28     ` Hubertus Franke
2002-03-06 17:23       ` [Lse-tech] " george anzinger
2002-03-07  0:25     ` Hubertus Franke [this message]
2002-03-07  0:35     ` Hubertus Franke
2002-03-06  7:54   ` Rusty Russell
2002-03-06 14:46     ` Hubertus Franke
2002-03-06 16:13     ` Hubertus Franke
2002-03-06 20:36       ` Futexes V : Hubertus Franke
2002-03-07  4:21         ` Rusty Russell
2002-03-05 22:39 ` [PATCH] Futexes IV (Fast Lightweight Userspace Semaphores) Davide Libenzi
2002-03-05 23:16   ` Hubertus Franke
2002-03-05 23:26     ` Davide Libenzi
2002-03-05 23:37       ` Peter Svensson
2002-03-05 23:50         ` Davide Libenzi
2002-03-08  0:07       ` Richard Henderson
2002-03-06  1:46   ` Rusty Russell
2002-03-06  2:03     ` Davide Libenzi
2002-03-08 18:07 ` Linus Torvalds
2002-03-08 19:03   ` Hubertus Franke
2002-03-08 19:22     ` Linus Torvalds
2002-03-08 20:29       ` Hubertus Franke
2002-03-08 20:48         ` Matthew Kirkwood
2002-03-08 21:02         ` Linus Torvalds
2002-03-08 23:15           ` Hubertus Franke
2002-03-08 23:36             ` Alan Cox
2002-03-08 23:41             ` Linus Torvalds
2002-03-08 23:56               ` Hubertus Franke
2002-03-09  2:12                 ` Linus Torvalds
2002-03-11 14:14                   ` Hubertus Franke
2002-03-09  0:03               ` H. Peter Anvin
2002-03-09  1:15                 ` Alan Cox
2002-03-10 19:41                   ` Linus Torvalds
2002-03-11 20:49                     ` Pavel Machek
2002-03-13  7:40                     ` Rusty Russell
2002-03-13 16:37                       ` Alan Cox
2002-03-10 19:58                   ` Martin J. Bligh
2002-03-10 20:40                     ` Alan Cox
2002-03-10 20:28                       ` Martin J. Bligh
2002-03-10 21:05                         ` Alan Cox
2002-03-12  9:35                 ` Helge Hafting
2002-03-08 20:40       ` Alan Cox
2002-03-08 20:57         ` Linus Torvalds
2002-03-08 23:43           ` H. Peter Anvin
2002-03-08 22:55         ` Hubertus Franke
2002-03-08 23:38           ` Alan Cox
2002-03-08 23:44           ` H. Peter Anvin
2002-03-08 20:47       ` george anzinger
2002-03-08 23:02         ` Hubertus Franke
2002-03-08 23:47           ` george anzinger
2002-03-09  1:11             ` Alan Cox
2002-03-09  1:20             ` Linus Torvalds
2002-03-09  4:49       ` Rusty Russell
2002-03-11 22:45         ` Linus Torvalds
2002-03-11 23:12           ` Hubertus Franke
2002-03-12  7:20           ` Rusty Russell
2002-03-12 14:56             ` Hubertus Franke
2002-03-13  4:02               ` Rusty Russell
2002-03-12 17:17             ` Linus Torvalds
2002-03-13  2:57               ` Rusty Russell
2002-03-09  4:51   ` Rusty Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020307003402.8A7503FE06@smtp.linux.ibm.com \
    --to=frankeh@watson.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lse-tech@lists.sourceforge.net \
    --cc=rusty@rustcorp.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox