The linux kernel supports the large folio for page cache by default.
But the current CRASH does not support the large folio.
So we may meet the errors when we detected the large folio sometimes,
such as in the email:
https://www.spinics.net/linux/fedora/redhat-crash-utility/msg11238.html
------------------------------
files: page_to_nid: invalid page: 0
files: page_to_nid: invalid page: 0
files: page_to_nid: invalid page: 0
files: page_to_nid: invalid page: 10
files: page_to_nid: invalid page: 10
files: page_to_nid: invalid page: 10
files: page_to_nid: invalid page: 20
files: page_to_nid: invalid page: 20
files: page_to_nid: invalid page: 20
files: page_to_nid: invalid page: 30
files: page_to_nid: invalid page: 30
files: page_to_nid: invalid page: 30
files: page_to_nid: invalid page: 40
files: page_to_nid: invalid page: 40
files: page_to_nid: invalid page: 40
files: page_to_nid: invalid page: 50
files: page_to_nid: invalid page: 50
files: page_to_nid: invalid page: 50
files: page_to_nid: invalid page: 60
files: page_to_nid: invalid page: 60
------------------------------
The patches(1,2,3) are used to add large folio support for CRASH.
The patch 4 is newly version of an old patch:
it add "files -n" command.
v5-->v6:
1.) Removed the patch for converting ipcs to unix format.
2.) Rewrote the folio_order()
3.) Add hook ->update_count() for do_xarray_info{}
4.) others.
v4-->v5:
Add a new patch to convert ipcs.c to unix format.
Rebased the patch set again.
v3-->v4:
Fixes the BPF bug by:
1.) patch 1: Add a new type for do_xarray_info
2.) patch 3: Check XARRAY_TYPE_PAGE_CACHE for
do_xarray_count()/do_xarray_dump()/do_xarray_dump_cb()
v2-->v3:
Rewrited the folio_order() in patch 2 to work with different
kernel versions.
v1-->v2:
1.) Rebase the kernel to later 7.0-rc1(merge window)
2.) Fixed a bug in the patch 3, the latest kernel supports folios
whose page order is bigger then 5:
"xarray: add large folio support"
*** BLURB HERE ***
Huang Shijie (4):
xarray: add a new parameter for do_xarray
add folio_order function
xarray: add large folio support
add "files -n" command for an inode
bpf.c | 8 ++---
defs.h | 14 ++++++++-
dev.c | 4 +--
diskdump.c | 10 ++++--
filesys.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++------
help.c | 24 ++++++++++++++-
ipcs.c | 4 +--
kernel.c | 4 +--
memory.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++--
symbols.c | 6 ++++
task.c | 4 +--
tools.c | 16 ++++++++--
12 files changed, 237 insertions(+), 31 deletions(-)
--
2.34.1