Re: Futexes III : performance numbers

From: Hubertus Franke (frankeh@watson.ibm.com)
Date: Wed Mar 06 2002 - 19:25:45 EST


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)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Mar 07 2002 - 21:00:58 EST