forked from mirrors/linux
selftests/mm/uffd: rename nr_cpus -> nr_parallel
A later commit will bound this variable so it no longer necessarily matches the number of CPUs. Rename it appropriately. Link: https://lkml.kernel.org/r/20250311-mm-selftests-v4-4-dec210a658f5@google.com Signed-off-by: Brendan Jackman <jackmanb@google.com> Reviewed-by: Dev Jain <dev.jain@arm.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Mateusz Guzik <mjguzik@gmail.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
f4b3e6c7f1
commit
f3b5535abc
4 changed files with 20 additions and 20 deletions
|
|
@ -10,7 +10,7 @@
|
|||
#define BASE_PMD_ADDR ((void *)(1UL << 30))
|
||||
|
||||
volatile bool test_uffdio_copy_eexist = true;
|
||||
unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size;
|
||||
unsigned long nr_parallel, nr_pages, nr_pages_per_cpu, page_size;
|
||||
char *area_src, *area_src_alias, *area_dst, *area_dst_alias, *area_remap;
|
||||
int uffd = -1, uffd_flags, finished, *pipefd, test_type;
|
||||
bool map_shared;
|
||||
|
|
@ -269,7 +269,7 @@ void uffd_test_ctx_clear(void)
|
|||
size_t i;
|
||||
|
||||
if (pipefd) {
|
||||
for (i = 0; i < nr_cpus * 2; ++i) {
|
||||
for (i = 0; i < nr_parallel * 2; ++i) {
|
||||
if (close(pipefd[i]))
|
||||
err("close pipefd");
|
||||
}
|
||||
|
|
@ -365,10 +365,10 @@ int uffd_test_ctx_init(uint64_t features, const char **errmsg)
|
|||
*/
|
||||
uffd_test_ops->release_pages(area_dst);
|
||||
|
||||
pipefd = malloc(sizeof(int) * nr_cpus * 2);
|
||||
pipefd = malloc(sizeof(int) * nr_parallel * 2);
|
||||
if (!pipefd)
|
||||
err("pipefd");
|
||||
for (cpu = 0; cpu < nr_cpus; cpu++)
|
||||
for (cpu = 0; cpu < nr_parallel; cpu++)
|
||||
if (pipe2(&pipefd[cpu * 2], O_CLOEXEC | O_NONBLOCK))
|
||||
err("pipe");
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ struct uffd_test_case_ops {
|
|||
};
|
||||
typedef struct uffd_test_case_ops uffd_test_case_ops_t;
|
||||
|
||||
extern unsigned long nr_cpus, nr_pages, nr_pages_per_cpu, page_size;
|
||||
extern unsigned long nr_parallel, nr_pages, nr_pages_per_cpu, page_size;
|
||||
extern char *area_src, *area_src_alias, *area_dst, *area_dst_alias, *area_remap;
|
||||
extern int uffd, uffd_flags, finished, *pipefd, test_type;
|
||||
extern bool map_shared;
|
||||
|
|
|
|||
|
|
@ -180,12 +180,12 @@ static void *background_thread(void *arg)
|
|||
static int stress(struct uffd_args *args)
|
||||
{
|
||||
unsigned long cpu;
|
||||
pthread_t locking_threads[nr_cpus];
|
||||
pthread_t uffd_threads[nr_cpus];
|
||||
pthread_t background_threads[nr_cpus];
|
||||
pthread_t locking_threads[nr_parallel];
|
||||
pthread_t uffd_threads[nr_parallel];
|
||||
pthread_t background_threads[nr_parallel];
|
||||
|
||||
finished = 0;
|
||||
for (cpu = 0; cpu < nr_cpus; cpu++) {
|
||||
for (cpu = 0; cpu < nr_parallel; cpu++) {
|
||||
if (pthread_create(&locking_threads[cpu], &attr,
|
||||
locking_thread, (void *)cpu))
|
||||
return 1;
|
||||
|
|
@ -203,7 +203,7 @@ static int stress(struct uffd_args *args)
|
|||
background_thread, (void *)cpu))
|
||||
return 1;
|
||||
}
|
||||
for (cpu = 0; cpu < nr_cpus; cpu++)
|
||||
for (cpu = 0; cpu < nr_parallel; cpu++)
|
||||
if (pthread_join(background_threads[cpu], NULL))
|
||||
return 1;
|
||||
|
||||
|
|
@ -219,11 +219,11 @@ static int stress(struct uffd_args *args)
|
|||
uffd_test_ops->release_pages(area_src);
|
||||
|
||||
finished = 1;
|
||||
for (cpu = 0; cpu < nr_cpus; cpu++)
|
||||
for (cpu = 0; cpu < nr_parallel; cpu++)
|
||||
if (pthread_join(locking_threads[cpu], NULL))
|
||||
return 1;
|
||||
|
||||
for (cpu = 0; cpu < nr_cpus; cpu++) {
|
||||
for (cpu = 0; cpu < nr_parallel; cpu++) {
|
||||
char c;
|
||||
if (bounces & BOUNCE_POLL) {
|
||||
if (write(pipefd[cpu*2+1], &c, 1) != 1)
|
||||
|
|
@ -246,11 +246,11 @@ static int userfaultfd_stress(void)
|
|||
{
|
||||
void *area;
|
||||
unsigned long nr;
|
||||
struct uffd_args args[nr_cpus];
|
||||
struct uffd_args args[nr_parallel];
|
||||
uint64_t mem_size = nr_pages * page_size;
|
||||
int flags = 0;
|
||||
|
||||
memset(args, 0, sizeof(struct uffd_args) * nr_cpus);
|
||||
memset(args, 0, sizeof(struct uffd_args) * nr_parallel);
|
||||
|
||||
if (features & UFFD_FEATURE_WP_UNPOPULATED && test_type == TEST_ANON)
|
||||
flags = UFFD_FEATURE_WP_UNPOPULATED;
|
||||
|
|
@ -325,7 +325,7 @@ static int userfaultfd_stress(void)
|
|||
*/
|
||||
uffd_test_ops->release_pages(area_dst);
|
||||
|
||||
uffd_stats_reset(args, nr_cpus);
|
||||
uffd_stats_reset(args, nr_parallel);
|
||||
|
||||
/* bounce pass */
|
||||
if (stress(args)) {
|
||||
|
|
@ -359,7 +359,7 @@ static int userfaultfd_stress(void)
|
|||
|
||||
swap(area_src_alias, area_dst_alias);
|
||||
|
||||
uffd_stats_report(args, nr_cpus);
|
||||
uffd_stats_report(args, nr_parallel);
|
||||
}
|
||||
uffd_test_ctx_clear();
|
||||
|
||||
|
|
@ -453,9 +453,9 @@ int main(int argc, char **argv)
|
|||
return KSFT_SKIP;
|
||||
}
|
||||
|
||||
nr_cpus = sysconf(_SC_NPROCESSORS_ONLN);
|
||||
nr_parallel = sysconf(_SC_NPROCESSORS_ONLN);
|
||||
|
||||
nr_pages_per_cpu = bytes / page_size / nr_cpus;
|
||||
nr_pages_per_cpu = bytes / page_size / nr_parallel;
|
||||
if (!nr_pages_per_cpu) {
|
||||
_err("invalid MiB");
|
||||
usage();
|
||||
|
|
@ -466,7 +466,7 @@ int main(int argc, char **argv)
|
|||
_err("invalid bounces");
|
||||
usage();
|
||||
}
|
||||
nr_pages = nr_pages_per_cpu * nr_cpus;
|
||||
nr_pages = nr_pages_per_cpu * nr_parallel;
|
||||
|
||||
printf("nr_pages: %lu, nr_pages_per_cpu: %lu\n",
|
||||
nr_pages, nr_pages_per_cpu);
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ uffd_setup_environment(uffd_test_args_t *args, uffd_test_case_t *test,
|
|||
|
||||
nr_pages = UFFD_TEST_MEM_SIZE / page_size;
|
||||
/* TODO: remove this global var.. it's so ugly */
|
||||
nr_cpus = 1;
|
||||
nr_parallel = 1;
|
||||
|
||||
/* Initialize test arguments */
|
||||
args->mem_type = mem_type;
|
||||
|
|
|
|||
Loading…
Reference in a new issue