* [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE @ 2025-11-11 20:26 Jane Chu 2025-11-24 16:17 ` Greg KH 0 siblings, 1 reply; 5+ messages in thread From: Jane Chu @ 2025-11-11 20:26 UTC (permalink / raw) To: gregkh, tj, linux-kernel On an ARM64 A1 system, it's possible to have physical memory span up to the 64T boundary, like below $ lsmem -b -r -n -o range,size 0x0000000080000000-0x00000000bfffffff 1073741824 0x0000080000000000-0x000008007fffffff 2147483648 0x00000800c0000000-0x0000087fffffffff 546534588416 0x0000400000000000-0x00004000bfffffff 3221225472 0x0000400100000000-0x0000407fffffffff 545460846592 So it's time to extend /sys/kernel/mm/page_idle/bitmap to be able to account for >2G number of pages, by raising the kernfs file size limit. Signed-off-by: Jane Chu <jane.chu@oracle.com> --- fs/kernfs/mount.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c index 76eaf64b9d9e..3ac52e141766 100644 --- a/fs/kernfs/mount.c +++ b/fs/kernfs/mount.c @@ -298,6 +298,7 @@ static int kernfs_fill_super(struct super_block *sb, struct kernfs_fs_context *k if (info->root->flags & KERNFS_ROOT_SUPPORT_EXPORTOP) sb->s_export_op = &kernfs_export_ops; sb->s_time_gran = 1; + sb->s_maxbytes = MAX_LFS_FILESIZE; /* sysfs dentries and inodes don't require IO to create */ sb->s_shrink->seeks = 0; -- 2.43.5 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE 2025-11-11 20:26 [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE Jane Chu @ 2025-11-24 16:17 ` Greg KH 2025-11-24 17:06 ` jane.chu 0 siblings, 1 reply; 5+ messages in thread From: Greg KH @ 2025-11-24 16:17 UTC (permalink / raw) To: Jane Chu; +Cc: tj, linux-kernel On Tue, Nov 11, 2025 at 01:26:06PM -0700, Jane Chu wrote: > On an ARM64 A1 system, it's possible to have physical memory span > up to the 64T boundary, like below > > $ lsmem -b -r -n -o range,size > 0x0000000080000000-0x00000000bfffffff 1073741824 > 0x0000080000000000-0x000008007fffffff 2147483648 > 0x00000800c0000000-0x0000087fffffffff 546534588416 > 0x0000400000000000-0x00004000bfffffff 3221225472 > 0x0000400100000000-0x0000407fffffffff 545460846592 > > So it's time to extend /sys/kernel/mm/page_idle/bitmap to be able > to account for >2G number of pages, by raising the kernfs file size > limit. Wait, we are having sysfs files that are bigger than >2G? Which files exactly? > Signed-off-by: Jane Chu <jane.chu@oracle.com> > --- > fs/kernfs/mount.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c > index 76eaf64b9d9e..3ac52e141766 100644 > --- a/fs/kernfs/mount.c > +++ b/fs/kernfs/mount.c > @@ -298,6 +298,7 @@ static int kernfs_fill_super(struct super_block *sb, struct kernfs_fs_context *k > if (info->root->flags & KERNFS_ROOT_SUPPORT_EXPORTOP) > sb->s_export_op = &kernfs_export_ops; > sb->s_time_gran = 1; > + sb->s_maxbytes = MAX_LFS_FILESIZE; What is the default setting for s_maxbytes today? thanks, greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE 2025-11-24 16:17 ` Greg KH @ 2025-11-24 17:06 ` jane.chu 2025-11-24 17:27 ` Greg KH 0 siblings, 1 reply; 5+ messages in thread From: jane.chu @ 2025-11-24 17:06 UTC (permalink / raw) To: Greg KH; +Cc: tj, linux-kernel, jane.chu Hi, Greg, On 11/24/2025 8:17 AM, Greg KH wrote: > On Tue, Nov 11, 2025 at 01:26:06PM -0700, Jane Chu wrote: >> On an ARM64 A1 system, it's possible to have physical memory span >> up to the 64T boundary, like below >> >> $ lsmem -b -r -n -o range,size >> 0x0000000080000000-0x00000000bfffffff 1073741824 >> 0x0000080000000000-0x000008007fffffff 2147483648 >> 0x00000800c0000000-0x0000087fffffffff 546534588416 >> 0x0000400000000000-0x00004000bfffffff 3221225472 >> 0x0000400100000000-0x0000407fffffffff 545460846592 >> >> So it's time to extend /sys/kernel/mm/page_idle/bitmap to be able >> to account for >2G number of pages, by raising the kernfs file size >> limit. > > Wait, we are having sysfs files that are bigger than >2G? Which files > exactly? This file: /sys/kernel/mm/page_idle/bitmap that tracks idle pages, 1 bit per page. Because of the above memory span, so even though the system has < 64TiB memory, we still need to be able to seek beyond the 2GiB point in the /sys/kernel/mm/page_idle/bitmap file. without fix: -------------- 2 Gb $ sudo dd if=/sys/kernel/mm/page_idle/bitmap of=/dev/null bs=8 skip=$((2*1024*1024*1024/8)) count=1 dd: /sys/kernel/mm/page_idle/bitmap: cannot skip: Invalid argument <-- 0+0 records in 0+0 records out 0 bytes copied, 0.00017564 s, 0.0 kB/s <-- with fix: ------------ 2 Gb $ sudo dd if=/sys/kernel/mm/page_idle/bitmap of=/dev/null bs=8 skip=$((2*1024*1024*1024/8)) count=1 dd: /sys/kernel/mm/page_idle/bitmap: cannot skip to specified offset <-- ignore 1+0 records in 1+0 records out 8 bytes copied, 0.000165122 s, 48.4 kB/s <-- thanks, -jane > >> Signed-off-by: Jane Chu <jane.chu@oracle.com> >> --- >> fs/kernfs/mount.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c >> index 76eaf64b9d9e..3ac52e141766 100644 >> --- a/fs/kernfs/mount.c >> +++ b/fs/kernfs/mount.c >> @@ -298,6 +298,7 @@ static int kernfs_fill_super(struct super_block *sb, struct kernfs_fs_context *k >> if (info->root->flags & KERNFS_ROOT_SUPPORT_EXPORTOP) >> sb->s_export_op = &kernfs_export_ops; >> sb->s_time_gran = 1; >> + sb->s_maxbytes = MAX_LFS_FILESIZE; > > What is the default setting for s_maxbytes today? > > thanks, > > greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE 2025-11-24 17:06 ` jane.chu @ 2025-11-24 17:27 ` Greg KH 2025-11-24 17:54 ` jane.chu 0 siblings, 1 reply; 5+ messages in thread From: Greg KH @ 2025-11-24 17:27 UTC (permalink / raw) To: jane.chu; +Cc: tj, linux-kernel On Mon, Nov 24, 2025 at 09:06:21AM -0800, jane.chu@oracle.com wrote: > Hi, Greg, > > On 11/24/2025 8:17 AM, Greg KH wrote: > > On Tue, Nov 11, 2025 at 01:26:06PM -0700, Jane Chu wrote: > > > On an ARM64 A1 system, it's possible to have physical memory span > > > up to the 64T boundary, like below > > > > > > $ lsmem -b -r -n -o range,size > > > 0x0000000080000000-0x00000000bfffffff 1073741824 > > > 0x0000080000000000-0x000008007fffffff 2147483648 > > > 0x00000800c0000000-0x0000087fffffffff 546534588416 > > > 0x0000400000000000-0x00004000bfffffff 3221225472 > > > 0x0000400100000000-0x0000407fffffffff 545460846592 > > > > > > So it's time to extend /sys/kernel/mm/page_idle/bitmap to be able > > > to account for >2G number of pages, by raising the kernfs file size > > > limit. > > > > Wait, we are having sysfs files that are bigger than >2G? Which files > > exactly? > > This file: /sys/kernel/mm/page_idle/bitmap > that tracks idle pages, 1 bit per page. Why is that a sysfs file and not a debugfs file? > Because of the above memory span, so even though the system has < 64TiB > memory, we still need to be able to seek beyond the 2GiB point in the > /sys/kernel/mm/page_idle/bitmap file. What uses this file? It's not on my systems, what arch uses it? thanks, greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE 2025-11-24 17:27 ` Greg KH @ 2025-11-24 17:54 ` jane.chu 0 siblings, 0 replies; 5+ messages in thread From: jane.chu @ 2025-11-24 17:54 UTC (permalink / raw) To: Greg KH; +Cc: tj, linux-kernel, jane.chu On 11/24/2025 9:27 AM, Greg KH wrote: > On Mon, Nov 24, 2025 at 09:06:21AM -0800, jane.chu@oracle.com wrote: >> Hi, Greg, >> >> On 11/24/2025 8:17 AM, Greg KH wrote: >>> On Tue, Nov 11, 2025 at 01:26:06PM -0700, Jane Chu wrote: >>>> On an ARM64 A1 system, it's possible to have physical memory span >>>> up to the 64T boundary, like below >>>> >>>> $ lsmem -b -r -n -o range,size >>>> 0x0000000080000000-0x00000000bfffffff 1073741824 >>>> 0x0000080000000000-0x000008007fffffff 2147483648 >>>> 0x00000800c0000000-0x0000087fffffffff 546534588416 >>>> 0x0000400000000000-0x00004000bfffffff 3221225472 >>>> 0x0000400100000000-0x0000407fffffffff 545460846592 >>>> >>>> So it's time to extend /sys/kernel/mm/page_idle/bitmap to be able >>>> to account for >2G number of pages, by raising the kernfs file size >>>> limit. >>> >>> Wait, we are having sysfs files that are bigger than >2G? Which files >>> exactly? >> >> This file: /sys/kernel/mm/page_idle/bitmap >> that tracks idle pages, 1 bit per page. > > Why is that a sysfs file and not a debugfs file? The bitmap file was introduced by 33c3fc71c8cf "(mm: introduce idle page tracking)" for idle page tracking. See also https://docs.kernel.org/admin-guide/mm/idle_page_tracking.html > >> Because of the above memory span, so even though the system has < 64TiB >> memory, we still need to be able to seek beyond the 2GiB point in the >> /sys/kernel/mm/page_idle/bitmap file. > > What uses this file? It's not on my systems, what arch uses it? Our use case is for production, not for debug purpose. The file is on my dual-socket Intel Ice Lake system w/ Linux v6.12.x, the issue was originally reported on an ARM64 A1 system. thanks, -jane > > thanks, > > greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-11-24 17:55 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-11-11 20:26 [PATCH] fs/kernfs: raise sb->maxbytes to MAX_LFS_FILESIZE Jane Chu 2025-11-24 16:17 ` Greg KH 2025-11-24 17:06 ` jane.chu 2025-11-24 17:27 ` Greg KH 2025-11-24 17:54 ` jane.chu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox