Kirill A. Shutemov
5e0a760b44
mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER
...
commit 23baf831a3 ("mm, treewide: redefine MAX_ORDER sanely") has
changed the definition of MAX_ORDER to be inclusive. This has caused
issues with code that was not yet upstream and depended on the previous
definition.
To draw attention to the altered meaning of the define, rename MAX_ORDER
to MAX_PAGE_ORDER.
Link: https://lkml.kernel.org/r/20231228144704.14033-2-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2024-01-08 15:27:15 -08:00
Kirill A. Shutemov
23baf831a3
mm, treewide: redefine MAX_ORDER sanely
...
MAX_ORDER currently defined as number of orders page allocator supports:
user can ask buddy allocator for page order between 0 and MAX_ORDER-1.
This definition is counter-intuitive and lead to number of bugs all over
the kernel.
Change the definition of MAX_ORDER to be inclusive: the range of orders
user can ask from buddy allocator is 0..MAX_ORDER now.
[kirill@shutemov.name: fix min() warning]
Link: https://lkml.kernel.org/r/20230315153800.32wib3n5rickolvh@box
[akpm@linux-foundation.org: fix another min_t warning]
[kirill@shutemov.name: fixups per Zi Yan]
Link: https://lkml.kernel.org/r/20230316232144.b7ic4cif4kjiabws@box.shutemov.name
[akpm@linux-foundation.org: fix underlining in docs]
Link: https://lore.kernel.org/oe-kbuild-all/202303191025.VRCTk6mP-lkp@intel.com/
Link: https://lkml.kernel.org/r/20230315113133.11326-11-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com >
Reviewed-by: Michael Ellerman <mpe@ellerman.id.au > [powerpc]
Cc: "Kirill A. Shutemov" <kirill@shutemov.name >
Cc: Zi Yan <ziy@nvidia.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2023-04-05 19:42:46 -07:00
Kefeng Wang
fc5dfebc80
memblock tests: add new pageblock related macro
...
Add new pageblock_start_pfn() and pageblock_align() macro which are needed
by memblock tests.
Link: https://lkml.kernel.org/r/20220907082643.186979-1-wangkefeng.wang@huawei.com
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com >
Cc: David Hildenbrand <david@redhat.com >
Cc: Mike Rapoport <rppt@linux.ibm.com >
Cc: Oscar Salvador <osalvador@suse.de >
Cc: Vlastimil Babka <vbabka@suse.cz >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-10-03 14:03:04 -07:00
Linus Torvalds
b8dcef877a
Merge tag 'memblock-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock
...
Pull memblock updates from Mike Rapoport:
- An optimization in memblock_add_range() to reduce array traversals
- Improvements to the memblock test suite
* tag 'memblock-v5.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
memblock test: Modify the obsolete description in README
memblock tests: fix compilation errors
memblock tests: change build options to run-time options
memblock tests: remove completed TODO items
memblock tests: set memblock_debug to enable memblock_dbg() messages
memblock tests: add verbose output to memblock tests
memblock tests: Makefile: add arguments to control verbosity
memblock: avoid some repeat when add new range
2022-08-09 09:48:30 -07:00
Rebecca Mckeever
06c8580aa2
memblock tests: change build options to run-time options
...
Change verbose and movable node build options to run-time options.
Movable node usage:
$ ./main -m
Or:
$ ./main --movable-node
Verbose usage:
$ ./main -v
Or:
$ ./main --verbose
Signed-off-by: Rebecca Mckeever <remckee0@gmail.com >
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com >
Link: https://lore.kernel.org/r/20220714031717.12258-1-remckee0@gmail.com
2022-07-20 10:46:33 +03:00
Patrick Wang
c200d90049
mm: kmemleak: remove kmemleak_not_leak_phys() and the min_count argument to kmemleak_alloc_phys()
...
Patch series "mm: kmemleak: store objects allocated with physical address
separately and check when scan", v4.
The kmemleak_*_phys() interface uses "min_low_pfn" and "max_low_pfn" to
check address. But on some architectures, kmemleak_*_phys() is called
before those two variables initialized. The following steps will be
taken:
1) Add OBJECT_PHYS flag and rbtree for the objects allocated
with physical address
2) Store physical address in objects if allocated with OBJECT_PHYS
3) Check the boundary when scan instead of in kmemleak_*_phys()
This patch set will solve:
https://lore.kernel.org/r/20220527032504.30341-1-yee.lee@mediatek.com
https://lore.kernel.org/r/9dd08bb5-f39e-53d8-f88d-bec598a08c93@gmail.com
v3: https://lore.kernel.org/r/20220609124950.1694394-1-patrick.wang.shcn@gmail.com
v2: https://lore.kernel.org/r/20220603035415.1243913-1-patrick.wang.shcn@gmail.com
v1: https://lore.kernel.org/r/20220531150823.1004101-1-patrick.wang.shcn@gmail.com
This patch (of 4):
Remove the unused kmemleak_not_leak_phys() function. And remove the
min_count argument to kmemleak_alloc_phys() function, assume it's 0.
Link: https://lkml.kernel.org/r/20220611035551.1823303-1-patrick.wang.shcn@gmail.com
Link: https://lkml.kernel.org/r/20220611035551.1823303-2-patrick.wang.shcn@gmail.com
Signed-off-by: Patrick Wang <patrick.wang.shcn@gmail.com >
Suggested-by: Catalin Marinas <catalin.marinas@arm.com >
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com >
Cc: Yee Lee <yee.lee@mediatek.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2022-06-16 19:48:30 -07:00
Karolina Drobnik
16802e55de
memblock tests: Add skeleton of the memblock simulator
...
Add basic project files, together with local stubs of required headers.
Update tools/include/slab.h to include definitions used by memblock.
Signed-off-by: Karolina Drobnik <karolinadrobnik@gmail.com >
Signed-off-by: Mike Rapoport <rppt@kernel.org >
Link: https://lore.kernel.org/r/d296fceb023a04b316a31fbff9acf1e76ac684e4.1643796665.git.karolinadrobnik@gmail.com
2022-02-20 08:44:37 +02:00