forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit37fa3b6
committed
Tweak indexscan and seqscan code to arrange that steps from one page to
the next are handled by ReleaseAndReadBuffer rather than separateReleaseBuffer and ReadBuffer calls. This cuts the number of acquisitionsof the BufMgrLock by a factor of 2 (possibly more, if an indexscan happensto pull successive rows from the same heap page). Unfortunately thisdoesn't seem enough to get us out of the recently discussed context-switchstorm problem, but it's surely worth doing anyway.1 parent95a03e9 commit37fa3b6
File tree
11 files changed
+132
-65
lines changed- src
- backend
- access
- heap
- index
- nbtree
- executor
- include/access
11 files changed
+132
-65
lines changedLines changed: 26 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
888 | 888 |
| |
889 | 889 |
| |
890 | 890 |
| |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
891 | 913 |
| |
892 | 914 |
| |
893 | 915 |
| |
| |||
898 | 920 |
| |
899 | 921 |
| |
900 | 922 |
| |
901 |
| - | |
| 923 | + | |
902 | 924 |
| |
903 |
| - | |
| 925 | + | |
| 926 | + | |
904 | 927 |
| |
905 | 928 |
| |
906 | 929 |
| |
|
Lines changed: 20 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
316 | 316 |
| |
317 | 317 |
| |
318 | 318 |
| |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
319 | 326 |
| |
320 | 327 |
| |
321 | 328 |
| |
| |||
419 | 426 |
| |
420 | 427 |
| |
421 | 428 |
| |
422 |
| - | |
423 |
| - | |
424 |
| - | |
425 |
| - | |
426 |
| - | |
427 |
| - | |
428 |
| - | |
429 | 429 |
| |
430 | 430 |
| |
431 | 431 |
| |
| |||
508 | 508 |
| |
509 | 509 |
| |
510 | 510 |
| |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
511 | 518 |
| |
| 519 | + | |
512 | 520 |
| |
513 | 521 |
| |
514 | 522 |
| |
515 | 523 |
| |
516 |
| - | |
517 |
| - | |
518 |
| - | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
519 | 527 |
| |
520 | 528 |
| |
521 | 529 |
| |
| |||
527 | 535 |
| |
528 | 536 |
| |
529 | 537 |
| |
530 |
| - | |
| 538 | + | |
531 | 539 |
| |
532 | 540 |
| |
533 | 541 |
| |
| |||
542 | 550 |
| |
543 | 551 |
| |
544 | 552 |
| |
545 |
| - | |
546 |
| - | |
547 | 553 |
| |
548 | 554 |
| |
549 | 555 |
| |
|
Lines changed: 4 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
297 | 297 |
| |
298 | 298 |
| |
299 | 299 |
| |
300 |
| - | |
301 |
| - | |
302 |
| - | |
| 300 | + | |
303 | 301 |
| |
304 | 302 |
| |
305 | 303 |
| |
| |||
454 | 452 |
| |
455 | 453 |
| |
456 | 454 |
| |
457 |
| - | |
458 |
| - | |
459 |
| - | |
| 455 | + | |
460 | 456 |
| |
461 | 457 |
| |
462 | 458 |
| |
| |||
1357 | 1353 |
| |
1358 | 1354 |
| |
1359 | 1355 |
| |
1360 |
| - | |
| 1356 | + | |
1361 | 1357 |
| |
1362 | 1358 |
| |
1363 | 1359 |
| |
|
Lines changed: 35 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
9 | 9 |
| |
10 | 10 |
| |
11 | 11 |
| |
12 |
| - | |
| 12 | + | |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
| |||
262 | 262 |
| |
263 | 263 |
| |
264 | 264 |
| |
265 |
| - | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
266 | 270 |
| |
267 | 271 |
| |
268 | 272 |
| |
269 |
| - | |
| 273 | + | |
270 | 274 |
| |
271 | 275 |
| |
272 | 276 |
| |
| |||
278 | 282 |
| |
279 | 283 |
| |
280 | 284 |
| |
281 |
| - | |
282 |
| - | |
283 | 285 |
| |
284 | 286 |
| |
285 | 287 |
| |
| |||
352 | 354 |
| |
353 | 355 |
| |
354 | 356 |
| |
355 |
| - | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
356 | 362 |
| |
357 | 363 |
| |
358 | 364 |
| |
359 |
| - | |
| 365 | + | |
360 | 366 |
| |
361 | 367 |
| |
362 | 368 |
| |
| |||
368 | 374 |
| |
369 | 375 |
| |
370 | 376 |
| |
371 |
| - | |
372 |
| - | |
373 | 377 |
| |
374 | 378 |
| |
375 | 379 |
| |
| |||
492 | 496 |
| |
493 | 497 |
| |
494 | 498 |
| |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
495 | 521 |
| |
496 | 522 |
| |
497 | 523 |
| |
|
Lines changed: 2 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
15 |
| - | |
| 15 | + | |
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
| |||
919 | 919 |
| |
920 | 920 |
| |
921 | 921 |
| |
922 |
| - | |
923 |
| - | |
924 |
| - | |
| 922 | + | |
925 | 923 |
| |
926 | 924 |
| |
927 | 925 |
| |
|
Lines changed: 10 additions & 19 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
108 | 108 |
| |
109 | 109 |
| |
110 | 110 |
| |
111 |
| - | |
112 |
| - | |
| 111 | + | |
113 | 112 |
| |
114 | 113 |
| |
115 | 114 |
| |
| |||
178 | 177 |
| |
179 | 178 |
| |
180 | 179 |
| |
181 |
| - | |
182 |
| - | |
| 180 | + | |
183 | 181 |
| |
184 | 182 |
| |
185 | 183 |
| |
| |||
933 | 931 |
| |
934 | 932 |
| |
935 | 933 |
| |
936 |
| - | |
937 |
| - | |
| 934 | + | |
938 | 935 |
| |
939 | 936 |
| |
940 | 937 |
| |
| |||
1041 | 1038 |
| |
1042 | 1039 |
| |
1043 | 1040 |
| |
1044 |
| - | |
1045 |
| - | |
| 1041 | + | |
1046 | 1042 |
| |
1047 | 1043 |
| |
1048 | 1044 |
| |
| |||
1069 | 1065 |
| |
1070 | 1066 |
| |
1071 | 1067 |
| |
1072 |
| - | |
1073 |
| - | |
| 1068 | + | |
1074 | 1069 |
| |
1075 | 1070 |
| |
1076 | 1071 |
| |
1077 | 1072 |
| |
1078 | 1073 |
| |
1079 |
| - | |
1080 |
| - | |
| 1074 | + | |
1081 | 1075 |
| |
1082 | 1076 |
| |
1083 | 1077 |
| |
| |||
1094 | 1088 |
| |
1095 | 1089 |
| |
1096 | 1090 |
| |
1097 |
| - | |
1098 |
| - | |
| 1091 | + | |
1099 | 1092 |
| |
1100 | 1093 |
| |
1101 | 1094 |
| |
| |||
1177 | 1170 |
| |
1178 | 1171 |
| |
1179 | 1172 |
| |
1180 |
| - | |
1181 |
| - | |
| 1173 | + | |
1182 | 1174 |
| |
1183 | 1175 |
| |
1184 | 1176 |
| |
| |||
1199 | 1191 |
| |
1200 | 1192 |
| |
1201 | 1193 |
| |
1202 |
| - | |
1203 |
| - | |
| 1194 | + | |
1204 | 1195 |
| |
1205 | 1196 |
| |
1206 | 1197 |
| |
|
0 commit comments
Comments
(0)