Messages in this thread | | | From | Hubertus Franke <> | Subject | Re: Futexes III : performance numbers | Date | Wed, 6 Mar 2002 19:25:45 -0500 |
| |
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/
| |