[PATCH v3 0/2] Use blocked_lock_lock only to protect blocked_hash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux