From: Tarun Sahu <tsahu@linux.ibm.com>
To: ltp@lists.linux.it
Cc: geetika@linux.ibm.com, sbhat@linux.ibm.com,
aneesh.kumar@linux.ibm.com, vaibhav@linux.ibm.com,
mike.kravetz@oracle.com
Subject: [LTP] [PATCH v2 2/5] Hugetlb: Migrating libhugetlbfs directio
Date: Wed, 9 Nov 2022 01:22:04 +0530 [thread overview]
Message-ID: <20221108195207.232115-3-tsahu@linux.ibm.com> (raw)
In-Reply-To: <20221108195207.232115-1-tsahu@linux.ibm.com>
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");
+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},
+};
--
2.31.1
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2022-11-08 19:52 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-08 19:52 [LTP] [PATCH v2 0/5][PART 2] Hugetlb:Migrating the libhugetlbfs tests Tarun Sahu
2022-11-08 19:52 ` [LTP] [PATCH v2 1/5] Hugetlb: Migrating libhugetlbfs counters Tarun Sahu
2022-11-09 13:12 ` Cyril Hrubis
2022-11-09 21:26 ` Tarun Sahu
2022-11-10 8:20 ` Cyril Hrubis
2022-11-13 18:44 ` Tarun Sahu
2022-11-13 19:03 ` Tarun Sahu
2022-11-14 9:49 ` Cyril Hrubis
2022-11-14 18:51 ` Tarun Sahu
2022-11-08 19:52 ` Tarun Sahu [this message]
2022-11-09 13:25 ` [LTP] [PATCH v2 2/5] Hugetlb: Migrating libhugetlbfs directio Cyril Hrubis
2022-11-09 18:09 ` Tarun Sahu
2022-11-08 19:52 ` [LTP] [PATCH v2 3/5] Hugetlb: Migrating libhugetlbfs fadvise_reserve Tarun Sahu
2022-11-09 16:18 ` Cyril Hrubis
2022-11-09 18:40 ` Tarun Sahu
2022-11-10 7:34 ` Cyril Hrubis
2022-11-08 19:52 ` [LTP] [PATCH v2 4/5] Hugetlb: Migrating libhugetlbfs fallocate_align Tarun Sahu
2022-11-08 19:52 ` [LTP] [PATCH v2 5/5] Hugetlb: Migrating libhugetlbfs fallocate_basic Tarun Sahu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221108195207.232115-3-tsahu@linux.ibm.com \
--to=tsahu@linux.ibm.com \
--cc=aneesh.kumar@linux.ibm.com \
--cc=geetika@linux.ibm.com \
--cc=ltp@lists.linux.it \
--cc=mike.kravetz@oracle.com \
--cc=sbhat@linux.ibm.com \
--cc=vaibhav@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.