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) are used to add large folio support for CRASH.
The patch 3 is newly version of an old patch:
it add "files -n" command.
v6-->v7:
1.) Drop the old patch 1.
2.) For patch "xarray: add large folio support":
add XARRAY_TYPE_PAGE_CACHE flag for do_xarray()
add update_off hook for xarray_ops{}
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"
Huang Shijie (3):
add folio_order function
xarray: add large folio support
add "files -n" command for an inode
defs.h | 13 +++++++
filesys.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++++-----
help.c | 24 +++++++++++-
memory.c | 84 +++++++++++++++++++++++++++++++++++++++++-
symbols.c | 6 +++
tools.c | 23 +++++++++---
6 files changed, 240 insertions(+), 18 deletions(-)
--
2.53.0