forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit37b7fc0
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 parentf39aecb commit37b7fc0
File tree
6 files changed
+151
-67
lines changed- src
- backend/storage
- buffer
- lmgr
- include/storage
- tools/pgindent
6 files changed
+151
-67
lines changedOriginal 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 |
|
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
677 | 677 |
| |
678 | 678 |
| |
679 | 679 |
| |
680 |
| - | |
| 680 | + | |
| 681 | + | |
681 | 682 |
| |
682 | 683 |
| |
683 | 684 |
| |
| |||
818 | 819 |
| |
819 | 820 |
| |
820 | 821 |
| |
821 |
| - | |
| 822 | + | |
822 | 823 |
| |
823 | 824 |
| |
824 | 825 |
| |
| |||
984 | 985 |
| |
985 | 986 |
| |
986 | 987 |
| |
987 |
| - | |
| 988 | + | |
| 989 | + | |
988 | 990 |
| |
989 | 991 |
| |
990 | 992 |
| |
| |||
1006 | 1008 |
| |
1007 | 1009 |
| |
1008 | 1010 |
| |
1009 |
| - | |
| 1011 | + | |
1010 | 1012 |
| |
1011 | 1013 |
| |
1012 | 1014 |
| |
| |||
1019 | 1021 |
| |
1020 | 1022 |
| |
1021 | 1023 |
| |
1022 |
| - | |
| 1024 | + | |
1023 | 1025 |
| |
1024 | 1026 |
| |
1025 | 1027 |
| |
| |||
1334 | 1336 |
| |
1335 | 1337 |
| |
1336 | 1338 |
| |
1337 |
| - | |
| 1339 | + | |
1338 | 1340 |
| |
1339 | 1341 |
| |
1340 | 1342 |
| |
| |||
1534 | 1536 |
| |
1535 | 1537 |
| |
1536 | 1538 |
| |
1537 |
| - | |
1538 |
| - | |
| 1539 | + | |
| 1540 | + | |
1539 | 1541 |
| |
1540 | 1542 |
| |
1541 | 1543 |
| |
| |||
2055 | 2057 |
| |
2056 | 2058 |
| |
2057 | 2059 |
| |
2058 |
| - | |
| 2060 | + | |
2059 | 2061 |
| |
2060 | 2062 |
| |
2061 | 2063 |
| |
2062 |
| - | |
| 2064 | + | |
2063 | 2065 |
| |
2064 | 2066 |
| |
2065 | 2067 |
| |
| |||
2865 | 2867 |
| |
2866 | 2868 |
| |
2867 | 2869 |
| |
2868 |
| - | |
| 2870 | + | |
2869 | 2871 |
| |
2870 |
| - | |
| 2872 | + | |
2871 | 2873 |
| |
2872 | 2874 |
| |
2873 | 2875 |
| |
| |||
2917 | 2919 |
| |
2918 | 2920 |
| |
2919 | 2921 |
| |
2920 |
| - | |
| 2922 | + | |
2921 | 2923 |
| |
2922 |
| - | |
| 2924 | + | |
2923 | 2925 |
| |
2924 | 2926 |
| |
2925 | 2927 |
| |
| |||
2943 | 2945 |
| |
2944 | 2946 |
| |
2945 | 2947 |
| |
2946 |
| - | |
| 2948 | + | |
2947 | 2949 |
| |
2948 | 2950 |
| |
2949 | 2951 |
| |
| |||
3040 | 3042 |
| |
3041 | 3043 |
| |
3042 | 3044 |
| |
3043 |
| - | |
| 3045 | + | |
3044 | 3046 |
| |
3045 | 3047 |
| |
3046 | 3048 |
| |
| |||
3193 | 3195 |
| |
3194 | 3196 |
| |
3195 | 3197 |
| |
3196 |
| - | |
| 3198 | + | |
3197 | 3199 |
| |
3198 |
| - | |
| 3200 | + | |
3199 | 3201 |
| |
3200 |
| - | |
| 3202 | + | |
3201 | 3203 |
| |
3202 | 3204 |
| |
3203 | 3205 |
| |
| |||
3218 | 3220 |
| |
3219 | 3221 |
| |
3220 | 3222 |
| |
3221 |
| - | |
| 3223 | + | |
| 3224 | + | |
3222 | 3225 |
| |
3223 | 3226 |
| |
3224 | 3227 |
| |
| |||
3428 | 3431 |
| |
3429 | 3432 |
| |
3430 | 3433 |
| |
3431 |
| - | |
3432 |
| - | |
| 3434 | + | |
| 3435 | + | |
3433 | 3436 |
| |
3434 | 3437 |
| |
3435 | 3438 |
| |
| |||
3462 | 3465 |
| |
3463 | 3466 |
| |
3464 | 3467 |
| |
3465 |
| - | |
| 3468 | + | |
3466 | 3469 |
| |
3467 | 3470 |
| |
3468 | 3471 |
| |
| |||
3476 | 3479 |
| |
3477 | 3480 |
| |
3478 | 3481 |
| |
3479 |
| - | |
| 3482 | + | |
3480 | 3483 |
| |
3481 | 3484 |
| |
3482 | 3485 |
| |
| |||
3486 | 3489 |
| |
3487 | 3490 |
| |
3488 | 3491 |
| |
3489 |
| - | |
| 3492 | + | |
3490 | 3493 |
| |
3491 | 3494 |
| |
3492 | 3495 |
| |
| |||
3535 | 3538 |
| |
3536 | 3539 |
| |
3537 | 3540 |
| |
3538 |
| - | |
| 3541 | + | |
3539 | 3542 |
| |
3540 | 3543 |
| |
3541 | 3544 |
| |
| |||
3560 | 3563 |
| |
3561 | 3564 |
| |
3562 | 3565 |
| |
3563 |
| - | |
| 3566 | + | |
3564 | 3567 |
| |
3565 | 3568 |
| |
3566 | 3569 |
| |
|
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 |
| |
|
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)