mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 20:46:48 +02:00
selftests/mm: use generic read_sysfs in thuge-gen test
As generic read_sysfs is available in vm_utils, let's use is in thuge-gen test. Link: https://lkml.kernel.org/r/20250611100106.1331197-1-pulehui@huaweicloud.com Signed-off-by: Pu Lehui <pulehui@huawei.com> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
4f8ba33bbd
commit
a788b6e571
|
|
@ -77,38 +77,18 @@ void show(unsigned long ps)
|
|||
system(buf);
|
||||
}
|
||||
|
||||
unsigned long thuge_read_sysfs(int warn, char *fmt, ...)
|
||||
{
|
||||
char *line = NULL;
|
||||
size_t linelen = 0;
|
||||
char buf[100];
|
||||
FILE *f;
|
||||
va_list ap;
|
||||
unsigned long val = 0;
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(buf, sizeof buf, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
f = fopen(buf, "r");
|
||||
if (!f) {
|
||||
if (warn)
|
||||
ksft_print_msg("missing %s\n", buf);
|
||||
return 0;
|
||||
}
|
||||
if (getline(&line, &linelen, f) > 0) {
|
||||
sscanf(line, "%lu", &val);
|
||||
}
|
||||
fclose(f);
|
||||
free(line);
|
||||
return val;
|
||||
}
|
||||
|
||||
unsigned long read_free(unsigned long ps)
|
||||
{
|
||||
return thuge_read_sysfs(ps != getpagesize(),
|
||||
"/sys/kernel/mm/hugepages/hugepages-%lukB/free_hugepages",
|
||||
ps >> 10);
|
||||
unsigned long val = 0;
|
||||
char buf[100];
|
||||
|
||||
snprintf(buf, sizeof(buf),
|
||||
"/sys/kernel/mm/hugepages/hugepages-%lukB/free_hugepages",
|
||||
ps >> 10);
|
||||
if (read_sysfs(buf, &val) && ps != getpagesize())
|
||||
ksft_print_msg("missing %s\n", buf);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
void test_mmap(unsigned long size, unsigned flags)
|
||||
|
|
@ -173,6 +153,7 @@ void test_shmget(unsigned long size, unsigned flags)
|
|||
void find_pagesizes(void)
|
||||
{
|
||||
unsigned long largest = getpagesize();
|
||||
unsigned long shmmax_val = 0;
|
||||
int i;
|
||||
glob_t g;
|
||||
|
||||
|
|
@ -195,7 +176,8 @@ void find_pagesizes(void)
|
|||
}
|
||||
globfree(&g);
|
||||
|
||||
if (thuge_read_sysfs(0, "/proc/sys/kernel/shmmax") < NUM_PAGES * largest)
|
||||
read_sysfs("/proc/sys/kernel/shmmax", &shmmax_val);
|
||||
if (shmmax_val < NUM_PAGES * largest)
|
||||
ksft_exit_fail_msg("Please do echo %lu > /proc/sys/kernel/shmmax",
|
||||
largest * NUM_PAGES);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user