Commit e0932b6
mm: page_alloc: consolidate free page accounting
Free page accounting currently happens a bit too high up the call stack,
where it has to deal with guard pages, compaction capturing, block
stealing and even page isolation. This is subtle and fragile, and makes
it difficult to hack on the code.
Now that type violations on the freelists have been fixed, push the
accounting down to where pages enter and leave the freelist.
[[email protected]: undo unrelated drive-by line wrap]
Link: https://lkml.kernel.org/r/[email protected]
[[email protected]: remove unused page parameter from account_freepages()]
Link: https://lkml.kernel.org/r/[email protected]
[[email protected]: fix free page accounting]
Link: https://lkml.kernel.org/r/a2a48baca69f103aa431fd201f8a06e3b95e203d.1712648441.git.baolin.wang@linux.alibaba.com
[[email protected]: avoid defining unused function]
Link: https://lkml.kernel.org/r/[email protected]
Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Johannes Weiner <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Baolin Wang <[email protected]>
Reviewed-by: Vlastimil Babka <[email protected]>
Tested-by: Baolin Wang <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: "Huang, Ying" <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Zi Yan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>1 parent fd919a8 commit e0932b6
File tree
5 files changed
+118
-117
lines changed- include/linux
- mm
5 files changed
+118
-117
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3797 | 3797 | | |
3798 | 3798 | | |
3799 | 3799 | | |
3800 | | - | |
3801 | | - | |
| 3800 | + | |
3802 | 3801 | | |
3803 | | - | |
| 3802 | + | |
3804 | 3803 | | |
3805 | 3804 | | |
3806 | 3805 | | |
3807 | | - | |
| 3806 | + | |
3808 | 3807 | | |
3809 | 3808 | | |
3810 | | - | |
3811 | | - | |
| 3809 | + | |
3812 | 3810 | | |
3813 | | - | |
| 3811 | + | |
3814 | 3812 | | |
3815 | 3813 | | |
3816 | 3814 | | |
3817 | | - | |
| 3815 | + | |
3818 | 3816 | | |
3819 | 3817 | | |
3820 | 3818 | | |
| |||
3824 | 3822 | | |
3825 | 3823 | | |
3826 | 3824 | | |
3827 | | - | |
| 3825 | + | |
3828 | 3826 | | |
3829 | | - | |
| 3827 | + | |
3830 | 3828 | | |
3831 | 3829 | | |
3832 | 3830 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
487 | 487 | | |
488 | 488 | | |
489 | 489 | | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
496 | | - | |
497 | | - | |
498 | 490 | | |
499 | 491 | | |
500 | 492 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
42 | 41 | | |
43 | 42 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | 43 | | |
48 | 44 | | |
49 | 45 | | |
50 | 46 | | |
51 | | - | |
52 | | - | |
| 47 | + | |
53 | 48 | | |
54 | 49 | | |
55 | | - | |
56 | 50 | | |
57 | | - | |
58 | | - | |
59 | 51 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1039 | 1039 | | |
1040 | 1040 | | |
1041 | 1041 | | |
1042 | | - | |
1043 | | - | |
1044 | | - | |
1045 | | - | |
1046 | | - | |
1047 | 1042 | | |
1048 | 1043 | | |
1049 | 1044 | | |
| |||
0 commit comments