Hi, Finally, I got a bigger machine and did a quick test round. I expected to see some improvements but the resutls do not show any real gain. So they are merely refactoring patches. 4x Intel(R) Xeon(R) CPU E5-4610 v2 @ 2.30GHz 4.0.0-rc2/flock01.data # NumSamples = 3; Min = 47160.80; Max = 47555.42 # Mean = 47294.254786; Variance = 34110.284932; SD = 184.689699; Median 47166.534982 # each ∎ represents a count of 1 47160.8049 - 47200.2668 [ 2]: ∎∎ 47200.2668 - 47239.7288 [ 0]: 47239.7288 - 47279.1908 [ 0]: 47279.1908 - 47318.6527 [ 0]: 47318.6527 - 47358.1147 [ 0]: 47358.1147 - 47397.5767 [ 0]: 47397.5767 - 47437.0386 [ 0]: 47437.0386 - 47476.5006 [ 0]: 47476.5006 - 47515.9625 [ 0]: 47515.9625 - 47555.4245 [ 1]: ∎ patched/flock01.data # NumSamples = 21; Min = 45877.22; Max = 50206.70 # Mean = 47042.844720; Variance = 752166.966346; SD = 867.275600; Median 46939.811380 # each ∎ represents a count of 1 45877.2235 - 46310.1709 [ 2]: ∎∎ 46310.1709 - 46743.1182 [ 7]: ∎∎∎∎∎∎∎ 46743.1182 - 47176.0655 [ 3]: ∎∎∎ 47176.0655 - 47609.0128 [ 6]: ∎∎∎∎∎∎ 47609.0128 - 48041.9602 [ 2]: ∎∎ 48041.9602 - 48474.9075 [ 0]: 48474.9075 - 48907.8548 [ 0]: 48907.8548 - 49340.8021 [ 0]: 49340.8021 - 49773.7495 [ 0]: 49773.7495 - 50206.6968 [ 1]: ∎ 4.0.0-rc2/flock02.data # NumSamples = 1786; Min = 1.86; Max = 3.13 # Mean = 2.204980; Variance = 0.015900; SD = 0.126096; Median 2.177549 # each ∎ represents a count of 13 1.8606 - 1.9880 [ 5]: 1.9880 - 2.1154 [ 315]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.1154 - 2.2427 [ 1040]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.2427 - 2.3701 [ 272]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.3701 - 2.4975 [ 75]: ∎∎∎∎∎ 2.4975 - 2.6249 [ 42]: ∎∎∎ 2.6249 - 2.7523 [ 28]: ∎∎ 2.7523 - 2.8796 [ 7]: 2.8796 - 3.0070 [ 1]: 3.0070 - 3.1344 [ 1]: patched/flock02.data # NumSamples = 4586; Min = 2.14; Max = 4.31 # Mean = 2.619467; Variance = 0.043192; SD = 0.207828; Median 2.575378 # each ∎ represents a count of 27 2.1385 - 2.3561 [ 186]: ∎∎∎∎∎∎ 2.3561 - 2.5737 [ 2079]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.5737 - 2.7914 [ 1642]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 2.7914 - 3.0090 [ 355]: ∎∎∎∎∎∎∎∎∎∎∎∎∎ 3.0090 - 3.2266 [ 246]: ∎∎∎∎∎∎∎∎∎ 3.2266 - 3.4442 [ 66]: ∎∎ 3.4442 - 3.6618 [ 9]: 3.6618 - 3.8795 [ 1]: 3.8795 - 4.0971 [ 0]: 4.0971 - 4.3147 [ 2]: 4.0.0-rc2/lease01.data # NumSamples = 12; Min = 1097.16; Max = 1255.06 # Mean = 1184.550432; Variance = 1590.438052; SD = 39.880297; Median 1190.704582 # each ∎ represents a count of 1 1097.1556 - 1112.9460 [ 1]: ∎ 1112.9460 - 1128.7363 [ 0]: 1128.7363 - 1144.5267 [ 1]: ∎ 1144.5267 - 1160.3170 [ 0]: 1160.3170 - 1176.1074 [ 2]: ∎∎ 1176.1074 - 1191.8977 [ 2]: ∎∎ 1191.8977 - 1207.6881 [ 2]: ∎∎ 1207.6881 - 1223.4784 [ 3]: ∎∎∎ 1223.4784 - 1239.2688 [ 0]: 1239.2688 - 1255.0591 [ 1]: ∎ patched/lease01.data # NumSamples = 14; Min = 1055.00; Max = 1213.97 # Mean = 1128.800723; Variance = 2225.466357; SD = 47.174849; Median 1114.384900 # each ∎ represents a count of 1 1054.9959 - 1070.8932 [ 2]: ∎∎ 1070.8932 - 1086.7906 [ 1]: ∎ 1086.7906 - 1102.6879 [ 1]: ∎ 1102.6879 - 1118.5853 [ 4]: ∎∎∎∎ 1118.5853 - 1134.4826 [ 0]: 1134.4826 - 1150.3800 [ 1]: ∎ 1150.3800 - 1166.2773 [ 2]: ∎∎ 1166.2773 - 1182.1747 [ 0]: 1182.1747 - 1198.0720 [ 2]: ∎∎ 1198.0720 - 1213.9694 [ 1]: ∎ 4.0.0-rc2/lease02.data # NumSamples = 12; Min = 841.43; Max = 911.82 # Mean = 888.716745; Variance = 317.221486; SD = 17.810713; Median 894.897002 # each ∎ represents a count of 1 841.4339 - 848.4727 [ 1]: ∎ 848.4727 - 855.5115 [ 0]: 855.5115 - 862.5503 [ 0]: 862.5503 - 869.5891 [ 0]: 869.5891 - 876.6278 [ 2]: ∎∎ 876.6278 - 883.6666 [ 1]: ∎ 883.6666 - 890.7054 [ 1]: ∎ 890.7054 - 897.7442 [ 3]: ∎∎∎ 897.7442 - 904.7830 [ 2]: ∎∎ 904.7830 - 911.8218 [ 2]: ∎∎ patched/lease02.data # NumSamples = 26; Min = 845.36; Max = 917.22 # Mean = 886.178134; Variance = 320.861100; SD = 17.912596; Median 889.109363 # each ∎ represents a count of 1 845.3620 - 852.5481 [ 2]: ∎∎ 852.5481 - 859.7343 [ 1]: ∎ 859.7343 - 866.9204 [ 1]: ∎ 866.9204 - 874.1065 [ 2]: ∎∎ 874.1065 - 881.2926 [ 3]: ∎∎∎ 881.2926 - 888.4788 [ 2]: ∎∎ 888.4788 - 895.6649 [ 6]: ∎∎∎∎∎∎ 895.6649 - 902.8510 [ 4]: ∎∎∎∎ 902.8510 - 910.0372 [ 2]: ∎∎ 910.0372 - 917.2233 [ 3]: ∎∎∎ 4.0.0-rc2/posix01.data # NumSamples = 5; Min = 46659.56; Max = 48332.45 # Mean = 47237.374603; Variance = 337801.649607; SD = 581.207063; Median 47011.051338 # each ∎ represents a count of 1 46659.5620 - 46826.8508 [ 1]: ∎ 46826.8508 - 46994.1396 [ 1]: ∎ 46994.1396 - 47161.4284 [ 1]: ∎ 47161.4284 - 47328.7172 [ 1]: ∎ 47328.7172 - 47496.0060 [ 0]: 47496.0060 - 47663.2948 [ 0]: 47663.2948 - 47830.5836 [ 0]: 47830.5836 - 47997.8724 [ 0]: 47997.8724 - 48165.1612 [ 0]: 48165.1612 - 48332.4500 [ 1]: ∎ patched/posix01.data # NumSamples = 5; Min = 47274.54; Max = 47925.60 # Mean = 47693.475091; Variance = 48592.645586; SD = 220.437396; Median 47762.516318 # each ∎ represents a count of 1 47274.5400 - 47339.6458 [ 1]: ∎ 47339.6458 - 47404.7516 [ 0]: 47404.7516 - 47469.8574 [ 0]: 47469.8574 - 47534.9632 [ 0]: 47534.9632 - 47600.0690 [ 0]: 47600.0690 - 47665.1748 [ 0]: 47665.1748 - 47730.2806 [ 1]: ∎ 47730.2806 - 47795.3863 [ 2]: ∎∎ 47795.3863 - 47860.4921 [ 0]: 47860.4921 - 47925.5979 [ 1]: ∎ 4.0.0-rc2/posix02.data # NumSamples = 633; Min = 3.28; Max = 6.66 # Mean = 3.742386; Variance = 0.087680; SD = 0.296108; Median 3.683302 # each ∎ represents a count of 4 3.2834 - 3.6214 [ 218]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 3.6214 - 3.9595 [ 338]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 3.9595 - 4.2975 [ 39]: ∎∎∎∎∎∎∎∎∎ 4.2975 - 4.6356 [ 23]: ∎∎∎∎∎ 4.6356 - 4.9736 [ 13]: ∎∎∎ 4.9736 - 5.3117 [ 1]: 5.3117 - 5.6497 [ 0]: 5.6497 - 5.9878 [ 0]: 5.9878 - 6.3258 [ 0]: 6.3258 - 6.6638 [ 1]: patched/posix02.data # NumSamples = 1266; Min = 3.52; Max = 8.13 # Mean = 4.177377; Variance = 0.139937; SD = 0.374081; Median 4.091573 # each ∎ represents a count of 10 3.5154 - 3.9770 [ 343]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 3.9770 - 4.4386 [ 760]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 4.4386 - 4.9002 [ 87]: ∎∎∎∎∎∎∎∎ 4.9002 - 5.3617 [ 55]: ∎∎∎∎∎ 5.3617 - 5.8233 [ 17]: ∎ 5.8233 - 6.2849 [ 2]: 6.2849 - 6.7464 [ 0]: 6.7464 - 7.2080 [ 1]: 7.2080 - 7.6696 [ 0]: 7.6696 - 8.1311 [ 1]: 4.0.0-rc2/posix03.data # NumSamples = 6; Min = 37.77; Max = 41.77 # Mean = 39.590607; Variance = 1.780789; SD = 1.334462; Median 39.619681 # each ∎ represents a count of 1 37.7725 - 38.1719 [ 1]: ∎ 38.1719 - 38.5713 [ 1]: ∎ 38.5713 - 38.9706 [ 0]: 38.9706 - 39.3700 [ 1]: ∎ 39.3700 - 39.7694 [ 0]: 39.7694 - 40.1688 [ 1]: ∎ 40.1688 - 40.5682 [ 1]: ∎ 40.5682 - 40.9675 [ 0]: 40.9675 - 41.3669 [ 0]: 41.3669 - 41.7663 [ 1]: ∎ patched/posix03.data # NumSamples = 15; Min = 37.45; Max = 44.72 # Mean = 41.543496; Variance = 4.628029; SD = 2.151286; Median 41.293384 # each ∎ represents a count of 1 37.4498 - 38.1767 [ 1]: ∎ 38.1767 - 38.9036 [ 0]: 38.9036 - 39.6304 [ 1]: ∎ 39.6304 - 40.3573 [ 4]: ∎∎∎∎ 40.3573 - 41.0842 [ 1]: ∎ 41.0842 - 41.8110 [ 1]: ∎ 41.8110 - 42.5379 [ 1]: ∎ 42.5379 - 43.2648 [ 3]: ∎∎∎ 43.2648 - 43.9916 [ 0]: 43.9916 - 44.7185 [ 3]: ∎∎∎ v3: - added missing !IS_OFDLCK - removed unnecessary locking protecting fl_list by flock_lock_lglock v2: - added a few lockdep assertion - dropped spinlock conversion v1: - rebased on v3.19-8975-g3d88348 - splittet into smaller pieces - fixed a wrong usage of __locks_insert/delete_block() and it's posix version - added seqfile helpers to avoid ugly open coded version https://lkml.org/lkml/2015/3/2/351 Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Daniel Wagner (2): locks: Split insert/delete block functions into flock/posix parts locks: Use blocked_lock_lock only to protect blocked_hash fs/locks.c | 111 ++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 37 deletions(-) -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html