forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit03f80da
committed
Re-bin segment when memory pages are freed.
It's OK to be lazy about re-binning memory segments when allocating,because that can only leave segments in a bin that's too high. We'llsearch higher bins if necessary while allocating next time, andalso eventually re-bin, so no memory can become unreachable that way.However, when freeing memory, the largest contiguous range of free pagesmight go up, so we should re-bin eagerly to make sure we don't leave thesegment in a bin that is too low for get_best_segment() to find.The re-binning code is moved into a function of its own, so it can becalled whenever free pages are returned to the segment's free page map.Back-patch to all supported releases.Author: Dongming Liu <ldming101@gmail.com>Reviewed-by: Robert Haas <robertmhaas@gmail.com> (earlier version)Reviewed-by: Thomas Munro <thomas.munro@gmail.com>Discussion:https://postgr.es/m/CAL1p7e8LzB2LSeAXo2pXCW4%2BRya9s0sJ3G_ReKOU%3DAjSUWjHWQ%40mail.gmail.com1 parenta8c09da commit03f80da
1 file changed
+43
-22
lines changedLines changed: 43 additions & 22 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
418 | 418 |
| |
419 | 419 |
| |
420 | 420 |
| |
| 421 | + | |
421 | 422 |
| |
422 | 423 |
| |
423 | 424 |
| |
| |||
869 | 870 |
| |
870 | 871 |
| |
871 | 872 |
| |
| 873 | + | |
| 874 | + | |
| 875 | + | |
872 | 876 |
| |
| 877 | + | |
873 | 878 |
| |
874 | 879 |
| |
875 | 880 |
| |
| |||
1858 | 1863 |
| |
1859 | 1864 |
| |
1860 | 1865 |
| |
| 1866 | + | |
| 1867 | + | |
| 1868 | + | |
| 1869 | + | |
| 1870 | + | |
1861 | 1871 |
| |
1862 | 1872 |
| |
1863 | 1873 |
| |
| |||
2021 | 2031 |
| |
2022 | 2032 |
| |
2023 | 2033 |
| |
2024 |
| - | |
2025 |
| - | |
2026 |
| - | |
2027 |
| - | |
2028 |
| - | |
2029 |
| - | |
2030 |
| - | |
2031 |
| - | |
2032 |
| - | |
2033 |
| - | |
2034 |
| - | |
2035 |
| - | |
2036 |
| - | |
2037 |
| - | |
2038 |
| - | |
2039 |
| - | |
2040 |
| - | |
2041 |
| - | |
2042 |
| - | |
2043 |
| - | |
2044 |
| - | |
2045 |
| - | |
| 2034 | + | |
2046 | 2035 |
| |
2047 | 2036 |
| |
2048 | 2037 |
| |
| |||
2297 | 2286 |
| |
2298 | 2287 |
| |
2299 | 2288 |
| |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
| 2294 | + | |
| 2295 | + | |
| 2296 | + | |
| 2297 | + | |
| 2298 | + | |
| 2299 | + | |
| 2300 | + | |
| 2301 | + | |
| 2302 | + | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
| 2308 | + | |
| 2309 | + | |
| 2310 | + | |
| 2311 | + | |
| 2312 | + | |
| 2313 | + | |
| 2314 | + | |
| 2315 | + | |
| 2316 | + | |
| 2317 | + | |
| 2318 | + | |
| 2319 | + | |
| 2320 | + |
0 commit comments
Comments
(0)