- Notifications
You must be signed in to change notification settings - Fork5
Commit6150a1b
committed
Move buffer I/O and content LWLocks out of the main tranche.
Move the content lock directly into the BufferDesc, so that locking andpinning a buffer touches only one cache line rather than two. Adjustthe definition of BufferDesc slightly so that this doesn't make theBufferDesc any larger than one cache line (at least on platforms wherea spinlock is only 1 or 2 bytes).We can't fit the I/O locks into the BufferDesc and stay within onecache line, so move those to a completely separate tranche. Thisleaves a relatively limited number of LWLocks in the main tranche, soincrease the padding of those remaining locks to a full cache line,rather than allowing adjacent locks to share a cache line, hopefullyreducing false sharing.Performance testing shows that these changes make little differenceon laptop-class machines, but help significantly on larger servers,especially those with more than 2 sockets.Andres Freund, originally based on an earlier patch by Simon Riggs.Review and cosmetic adjustments (including heavy rewriting of thecomments) by me.1 parent3fed417 commit6150a1b
File tree
6 files changed
+151
-67
lines changed- src
- backend/storage
- buffer
- lmgr
- include/storage
- tools/pgindent
6 files changed
+151
-67
lines changedLines changed: 51 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
20 | 20 |
| |
21 | 21 |
| |
22 | 22 |
| |
| 23 | + | |
| 24 | + | |
| 25 | + | |
23 | 26 |
| |
24 | 27 |
| |
25 | 28 |
| |
| |||
65 | 68 |
| |
66 | 69 |
| |
67 | 70 |
| |
68 |
| - | |
| 71 | + | |
| 72 | + | |
69 | 73 |
| |
70 | 74 |
| |
71 |
| - | |
72 |
| - | |
73 |
| - | |
74 |
| - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
75 | 81 |
| |
76 | 82 |
| |
77 | 83 |
| |
78 | 84 |
| |
79 | 85 |
| |
80 |
| - | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
81 | 107 |
| |
82 |
| - | |
83 |
| - | |
| 108 | + | |
| 109 | + | |
84 | 110 |
| |
85 | 111 |
| |
86 | 112 |
| |
| |||
110 | 136 |
| |
111 | 137 |
| |
112 | 138 |
| |
113 |
| - | |
114 |
| - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
115 | 144 |
| |
116 | 145 |
| |
117 | 146 |
| |
| |||
144 | 173 |
| |
145 | 174 |
| |
146 | 175 |
| |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
147 | 188 |
| |
148 | 189 |
|
Lines changed: 30 additions & 27 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
738 | 738 |
| |
739 | 739 |
| |
740 | 740 |
| |
741 |
| - | |
| 741 | + | |
| 742 | + | |
742 | 743 |
| |
743 | 744 |
| |
744 | 745 |
| |
| |||
879 | 880 |
| |
880 | 881 |
| |
881 | 882 |
| |
882 |
| - | |
| 883 | + | |
883 | 884 |
| |
884 | 885 |
| |
885 | 886 |
| |
| |||
1045 | 1046 |
| |
1046 | 1047 |
| |
1047 | 1048 |
| |
1048 |
| - | |
| 1049 | + | |
| 1050 | + | |
1049 | 1051 |
| |
1050 | 1052 |
| |
1051 | 1053 |
| |
| |||
1067 | 1069 |
| |
1068 | 1070 |
| |
1069 | 1071 |
| |
1070 |
| - | |
| 1072 | + | |
1071 | 1073 |
| |
1072 | 1074 |
| |
1073 | 1075 |
| |
| |||
1080 | 1082 |
| |
1081 | 1083 |
| |
1082 | 1084 |
| |
1083 |
| - | |
| 1085 | + | |
1084 | 1086 |
| |
1085 | 1087 |
| |
1086 | 1088 |
| |
| |||
1395 | 1397 |
| |
1396 | 1398 |
| |
1397 | 1399 |
| |
1398 |
| - | |
| 1400 | + | |
1399 | 1401 |
| |
1400 | 1402 |
| |
1401 | 1403 |
| |
| |||
1595 | 1597 |
| |
1596 | 1598 |
| |
1597 | 1599 |
| |
1598 |
| - | |
1599 |
| - | |
| 1600 | + | |
| 1601 | + | |
1600 | 1602 |
| |
1601 | 1603 |
| |
1602 | 1604 |
| |
| |||
2116 | 2118 |
| |
2117 | 2119 |
| |
2118 | 2120 |
| |
2119 |
| - | |
| 2121 | + | |
2120 | 2122 |
| |
2121 | 2123 |
| |
2122 | 2124 |
| |
2123 |
| - | |
| 2125 | + | |
2124 | 2126 |
| |
2125 | 2127 |
| |
2126 | 2128 |
| |
| |||
2926 | 2928 |
| |
2927 | 2929 |
| |
2928 | 2930 |
| |
2929 |
| - | |
| 2931 | + | |
2930 | 2932 |
| |
2931 |
| - | |
| 2933 | + | |
2932 | 2934 |
| |
2933 | 2935 |
| |
2934 | 2936 |
| |
| |||
2978 | 2980 |
| |
2979 | 2981 |
| |
2980 | 2982 |
| |
2981 |
| - | |
| 2983 | + | |
2982 | 2984 |
| |
2983 |
| - | |
| 2985 | + | |
2984 | 2986 |
| |
2985 | 2987 |
| |
2986 | 2988 |
| |
| |||
3004 | 3006 |
| |
3005 | 3007 |
| |
3006 | 3008 |
| |
3007 |
| - | |
| 3009 | + | |
3008 | 3010 |
| |
3009 | 3011 |
| |
3010 | 3012 |
| |
| |||
3101 | 3103 |
| |
3102 | 3104 |
| |
3103 | 3105 |
| |
3104 |
| - | |
| 3106 | + | |
3105 | 3107 |
| |
3106 | 3108 |
| |
3107 | 3109 |
| |
| |||
3254 | 3256 |
| |
3255 | 3257 |
| |
3256 | 3258 |
| |
3257 |
| - | |
| 3259 | + | |
3258 | 3260 |
| |
3259 |
| - | |
| 3261 | + | |
3260 | 3262 |
| |
3261 |
| - | |
| 3263 | + | |
3262 | 3264 |
| |
3263 | 3265 |
| |
3264 | 3266 |
| |
| |||
3279 | 3281 |
| |
3280 | 3282 |
| |
3281 | 3283 |
| |
3282 |
| - | |
| 3284 | + | |
| 3285 | + | |
3283 | 3286 |
| |
3284 | 3287 |
| |
3285 | 3288 |
| |
| |||
3489 | 3492 |
| |
3490 | 3493 |
| |
3491 | 3494 |
| |
3492 |
| - | |
3493 |
| - | |
| 3495 | + | |
| 3496 | + | |
3494 | 3497 |
| |
3495 | 3498 |
| |
3496 | 3499 |
| |
| |||
3523 | 3526 |
| |
3524 | 3527 |
| |
3525 | 3528 |
| |
3526 |
| - | |
| 3529 | + | |
3527 | 3530 |
| |
3528 | 3531 |
| |
3529 | 3532 |
| |
| |||
3537 | 3540 |
| |
3538 | 3541 |
| |
3539 | 3542 |
| |
3540 |
| - | |
| 3543 | + | |
3541 | 3544 |
| |
3542 | 3545 |
| |
3543 | 3546 |
| |
| |||
3547 | 3550 |
| |
3548 | 3551 |
| |
3549 | 3552 |
| |
3550 |
| - | |
| 3553 | + | |
3551 | 3554 |
| |
3552 | 3555 |
| |
3553 | 3556 |
| |
| |||
3595 | 3598 |
| |
3596 | 3599 |
| |
3597 | 3600 |
| |
3598 |
| - | |
| 3601 | + | |
3599 | 3602 |
| |
3600 | 3603 |
| |
3601 | 3604 |
| |
| |||
3620 | 3623 |
| |
3621 | 3624 |
| |
3622 | 3625 |
| |
3623 |
| - | |
| 3626 | + | |
3624 | 3627 |
| |
3625 | 3628 |
| |
3626 | 3629 |
| |
|
Lines changed: 8 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
344 | 344 |
| |
345 | 345 |
| |
346 | 346 |
| |
347 |
| - | |
348 |
| - | |
349 |
| - | |
350 |
| - | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
351 | 351 |
| |
352 | 352 |
| |
353 | 353 |
| |
354 | 354 |
| |
355 | 355 |
| |
356 |
| - | |
357 |
| - | |
358 |
| - | |
359 | 356 |
| |
360 | 357 |
| |
361 | 358 |
| |
| |||
423 | 420 |
| |
424 | 421 |
| |
425 | 422 |
| |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
426 | 427 |
| |
427 | 428 |
| |
428 | 429 |
| |
|
Lines changed: 16 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
115 | 115 |
| |
116 | 116 |
| |
117 | 117 |
| |
118 |
| - | |
119 |
| - | |
| 118 | + | |
| 119 | + | |
120 | 120 |
| |
121 | 121 |
| |
122 | 122 |
| |
| |||
133 | 133 |
| |
134 | 134 |
| |
135 | 135 |
| |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
136 | 140 |
| |
137 | 141 |
| |
138 | 142 |
| |
139 | 143 |
| |
140 | 144 |
| |
141 |
| - | |
| 145 | + | |
| 146 | + | |
142 | 147 |
| |
143 | 148 |
| |
144 | 149 |
| |
145 |
| - | |
146 |
| - | |
147 | 150 |
| |
148 | 151 |
| |
149 | 152 |
| |
150 |
| - | |
151 |
| - | |
| 153 | + | |
152 | 154 |
| |
153 | 155 |
| |
154 | 156 |
| |
| |||
184 | 186 |
| |
185 | 187 |
| |
186 | 188 |
| |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
187 | 196 |
| |
188 | 197 |
| |
189 | 198 |
| |
|
0 commit comments
Comments
(0)