Message ID | 20221108195207.232115-3-tsahu@linux.ibm.com |
---|---|
State | Superseded |
Headers | show |
Series | Hugetlb:Migrating the libhugetlbfs tests | expand |
> Migrating the libhugetlbfs/testcases/direct.c test > > Test Description: This Test perform Direct Write/Read from/To hugetlbfs > file which is mapped to process address space. The test is checking if it > succeeds and data written or read is not corrupted. > > Signed-off-by: Tarun Sahu <tsahu@linux.ibm.com> > --- > runtest/hugetlb | 1 + > testcases/kernel/mem/.gitignore | 1 + > .../kernel/mem/hugetlb/hugemmap/hugemmap11.c | 87 +++++++++++++++++++ > 3 files changed, 89 insertions(+) > create mode 100644 testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c > > diff --git a/runtest/hugetlb b/runtest/hugetlb > index 8a56d52a3..b9ee7227d 100644 > --- a/runtest/hugetlb > +++ b/runtest/hugetlb > @@ -7,6 +7,7 @@ hugemmap07 hugemmap07 > hugemmap08 hugemmap08 > hugemmap09 hugemmap09 > hugemmap10 hugemmap10 > +hugemmap11 hugemmap11 > hugemmap05_1 hugemmap05 -m > hugemmap05_2 hugemmap05 -s > hugemmap05_3 hugemmap05 -s -m > diff --git a/testcases/kernel/mem/.gitignore b/testcases/kernel/mem/.gitignore > index e7def68cb..3e64b67be 100644 > --- a/testcases/kernel/mem/.gitignore > +++ b/testcases/kernel/mem/.gitignore > @@ -8,6 +8,7 @@ > /hugetlb/hugemmap/hugemmap08 > /hugetlb/hugemmap/hugemmap09 > /hugetlb/hugemmap/hugemmap10 > +/hugetlb/hugemmap/hugemmap11 > /hugetlb/hugeshmat/hugeshmat01 > /hugetlb/hugeshmat/hugeshmat02 > /hugetlb/hugeshmat/hugeshmat03 > diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c > new file mode 100644 > index 000000000..357c61ab9 > --- /dev/null > +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c > @@ -0,0 +1,87 @@ > +// SPDX-License-Identifier: LGPL-2.1-or-later > +/* > + * Copyright (C) 2005-2006 IBM Corporation. > + * Author: David Gibson & Adam Litke > + */ > + > +/*\ > + * [Description] > + * > + * This Test perform Direct Write/Read from/To hugetlbfs file > + * which is mapped to process address space. The test is checking if it > + * succeeds and data written or read is not corrupted. > + * > + */ > + > +#define _GNU_SOURCE > +#include <stdio.h> > +#include <sys/mount.h> > +#include <limits.h> > +#include <sys/param.h> > +#include <sys/types.h> > + > +#include "hugetlb.h" > + > +#define P0 "ffffffff" > +#define IOSZ 4096 > +#define NORMAL_PATH "" > +#define MNTPOINT "hugetlbfs/" > + > +static long hpage_size; > +static int fd = -1, nfd = -1; > + > +static void run_test(void) > +{ > + void *p; > + char buf[IOSZ] __attribute__((aligned(IOSZ))); > + > + fd = tst_creat_unlinked(MNTPOINT); > + nfd = tst_creat_unlinked(NORMAL_PATH); > + p = SAFE_MMAP(NULL, hpage_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0); > + memcpy(p, P0, 8); > + > + SAFE_WRITE(1, nfd, p, IOSZ); > + SAFE_LSEEK(nfd, 0, SEEK_SET); > + > + SAFE_READ(1, nfd, buf, IOSZ); > + if (memcmp(P0, buf, 8)) { > + tst_res(TFAIL, "Memory mismatch after Direct-IO write"); > + goto cleanup; > + } > + SAFE_LSEEK(nfd, 0, SEEK_SET); > + > + memset(p, 0, IOSZ); > + SAFE_READ(1, nfd, p, IOSZ); > + > + if (memcmp(p, P0, 8)) > + tst_res(TFAIL, "Memory mismatch after Direct-IO read"); > + else > + tst_res(TPASS, "Successful"); ^ We shoudl write something more meaningful. Something as: "All data were read and written correctly" Other than this the rest looks good.
Hi, Thanks for reviewring it. On Nov 09 2022, Cyril Hrubis wrote: > > Migrating the libhugetlbfs/testcases/direct.c test > > > > Test Description: This Test perform Direct Write/Read from/To hugetlbfs > > file which is mapped to process address space. The test is checking if it > > succeeds and data written or read is not corrupted. > > > > Signed-off-by: Tarun Sahu <tsahu@linux.ibm.com> > > --- > > runtest/hugetlb | 1 + > > testcases/kernel/mem/.gitignore | 1 + > > .../kernel/mem/hugetlb/hugemmap/hugemmap11.c | 87 +++++++++++++++++++ > > 3 files changed, 89 insertions(+) > > create mode 100644 testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c > > > > diff --git a/runtest/hugetlb b/runtest/hugetlb > > index 8a56d52a3..b9ee7227d 100644 > > --- a/runtest/hugetlb > > +++ b/runtest/hugetlb > > @@ -7,6 +7,7 @@ hugemmap07 hugemmap07 > > hugemmap08 hugemmap08 > > hugemmap09 hugemmap09 > > hugemmap10 hugemmap10 > > +hugemmap11 hugemmap11 > > hugemmap05_1 hugemmap05 -m > > hugemmap05_2 hugemmap05 -s > > hugemmap05_3 hugemmap05 -s -m > > diff --git a/testcases/kernel/mem/.gitignore b/testcases/kernel/mem/.gitignore > > index e7def68cb..3e64b67be 100644 > > --- a/testcases/kernel/mem/.gitignore > > +++ b/testcases/kernel/mem/.gitignore > > @@ -8,6 +8,7 @@ > > /hugetlb/hugemmap/hugemmap08 > > /hugetlb/hugemmap/hugemmap09 > > /hugetlb/hugemmap/hugemmap10 > > +/hugetlb/hugemmap/hugemmap11 > > /hugetlb/hugeshmat/hugeshmat01 > > /hugetlb/hugeshmat/hugeshmat02 > > /hugetlb/hugeshmat/hugeshmat03 > > diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c > > new file mode 100644 > > index 000000000..357c61ab9 > > --- /dev/null > > +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c > > @@ -0,0 +1,87 @@ > > +// SPDX-License-Identifier: LGPL-2.1-or-later > > +/* > > + * Copyright (C) 2005-2006 IBM Corporation. > > + * Author: David Gibson & Adam Litke > > + */ > > + > > +/*\ > > + * [Description] > > + * > > + * This Test perform Direct Write/Read from/To hugetlbfs file > > + * which is mapped to process address space. The test is checking if it > > + * succeeds and data written or read is not corrupted. > > + * > > + */ > > + > > +#define _GNU_SOURCE > > +#include <stdio.h> > > +#include <sys/mount.h> > > +#include <limits.h> > > +#include <sys/param.h> > > +#include <sys/types.h> > > + > > +#include "hugetlb.h" > > + > > +#define P0 "ffffffff" > > +#define IOSZ 4096 > > +#define NORMAL_PATH "" > > +#define MNTPOINT "hugetlbfs/" > > + > > +static long hpage_size; > > +static int fd = -1, nfd = -1; > > + > > +static void run_test(void) > > +{ > > + void *p; > > + char buf[IOSZ] __attribute__((aligned(IOSZ))); > > + > > + fd = tst_creat_unlinked(MNTPOINT); > > + nfd = tst_creat_unlinked(NORMAL_PATH); > > + p = SAFE_MMAP(NULL, hpage_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0); > > + memcpy(p, P0, 8); > > + > > + SAFE_WRITE(1, nfd, p, IOSZ); > > + SAFE_LSEEK(nfd, 0, SEEK_SET); > > + > > + SAFE_READ(1, nfd, buf, IOSZ); > > + if (memcmp(P0, buf, 8)) { > > + tst_res(TFAIL, "Memory mismatch after Direct-IO write"); > > + goto cleanup; > > + } > > + SAFE_LSEEK(nfd, 0, SEEK_SET); > > + > > + memset(p, 0, IOSZ); > > + SAFE_READ(1, nfd, p, IOSZ); > > + > > + if (memcmp(p, P0, 8)) > > + tst_res(TFAIL, "Memory mismatch after Direct-IO read"); > > + else > > + tst_res(TPASS, "Successful"); > ^ > We shoudl write something more > meaningful. Something as: > > "All data were read and written correctly" > > Other than this the rest looks good. > Ok, Will update it. > > -- > Cyril Hrubis > chrubis@suse.cz > > -- > Mailing list info: https://lists.linux.it/listinfo/ltp
diff --git a/runtest/hugetlb b/runtest/hugetlb index 8a56d52a3..b9ee7227d 100644 --- a/runtest/hugetlb +++ b/runtest/hugetlb @@ -7,6 +7,7 @@ hugemmap07 hugemmap07 hugemmap08 hugemmap08 hugemmap09 hugemmap09 hugemmap10 hugemmap10 +hugemmap11 hugemmap11 hugemmap05_1 hugemmap05 -m hugemmap05_2 hugemmap05 -s hugemmap05_3 hugemmap05 -s -m diff --git a/testcases/kernel/mem/.gitignore b/testcases/kernel/mem/.gitignore index e7def68cb..3e64b67be 100644 --- a/testcases/kernel/mem/.gitignore +++ b/testcases/kernel/mem/.gitignore @@ -8,6 +8,7 @@ /hugetlb/hugemmap/hugemmap08 /hugetlb/hugemmap/hugemmap09 /hugetlb/hugemmap/hugemmap10 +/hugetlb/hugemmap/hugemmap11 /hugetlb/hugeshmat/hugeshmat01 /hugetlb/hugeshmat/hugeshmat02 /hugetlb/hugeshmat/hugeshmat03 diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c new file mode 100644 index 000000000..357c61ab9 --- /dev/null +++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c @@ -0,0 +1,87 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/* + * Copyright (C) 2005-2006 IBM Corporation. + * Author: David Gibson & Adam Litke + */ + +/*\ + * [Description] + * + * This Test perform Direct Write/Read from/To hugetlbfs file + * which is mapped to process address space. The test is checking if it + * succeeds and data written or read is not corrupted. + * + */ + +#define _GNU_SOURCE +#include <stdio.h> +#include <sys/mount.h> +#include <limits.h> +#include <sys/param.h> +#include <sys/types.h> + +#include "hugetlb.h" + +#define P0 "ffffffff" +#define IOSZ 4096 +#define NORMAL_PATH "" +#define MNTPOINT "hugetlbfs/" + +static long hpage_size; +static int fd = -1, nfd = -1; + +static void run_test(void) +{ + void *p; + char buf[IOSZ] __attribute__((aligned(IOSZ))); + + fd = tst_creat_unlinked(MNTPOINT); + nfd = tst_creat_unlinked(NORMAL_PATH); + p = SAFE_MMAP(NULL, hpage_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0); + memcpy(p, P0, 8); + + SAFE_WRITE(1, nfd, p, IOSZ); + SAFE_LSEEK(nfd, 0, SEEK_SET); + + SAFE_READ(1, nfd, buf, IOSZ); + if (memcmp(P0, buf, 8)) { + tst_res(TFAIL, "Memory mismatch after Direct-IO write"); + goto cleanup; + } + SAFE_LSEEK(nfd, 0, SEEK_SET); + + memset(p, 0, IOSZ); + SAFE_READ(1, nfd, p, IOSZ); + + if (memcmp(p, P0, 8)) + tst_res(TFAIL, "Memory mismatch after Direct-IO read"); + else + tst_res(TPASS, "Successful"); +cleanup: + SAFE_MUNMAP(p, hpage_size); + SAFE_CLOSE(fd); + SAFE_CLOSE(nfd); +} + +static void setup(void) +{ + hpage_size = SAFE_READ_MEMINFO(MEMINFO_HPAGE_SIZE)*1024; +} + +static void cleanup(void) +{ + if (fd > 0) + SAFE_CLOSE(fd); + if (nfd > 0) + SAFE_CLOSE(nfd); +} + +static struct tst_test test = { + .needs_root = 1, + .mntpoint = MNTPOINT, + .needs_hugetlbfs = 1, + .setup = setup, + .cleanup = cleanup, + .test_all = run_test, + .hugepages = {1, TST_NEEDS}, +};
Migrating the libhugetlbfs/testcases/direct.c test Test Description: This Test perform Direct Write/Read from/To hugetlbfs file which is mapped to process address space. The test is checking if it succeeds and data written or read is not corrupted. Signed-off-by: Tarun Sahu <tsahu@linux.ibm.com> --- runtest/hugetlb | 1 + testcases/kernel/mem/.gitignore | 1 + .../kernel/mem/hugetlb/hugemmap/hugemmap11.c | 87 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 testcases/kernel/mem/hugetlb/hugemmap/hugemmap11.c