From: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] madvise/madvise02.c: extend EINVAL test for MADV_MERGEABLE and MADV_UNMERGEABLE advice
Date: Tue, 25 Feb 2014 11:22:26 +0800 [thread overview]
Message-ID: <530C0C72.6090900@cn.fujitsu.com> (raw)
In-Reply-To: <1389867964-8072-1-git-send-email-wangxg.fnst@cn.fujitsu.com>
Hi,
Please ignore this patch. I do something wrong, thanks.
Regards,
Xiaoguang Wang
On 02/25/2014 11:09 AM, Xiaoguang Wang wrote:
> From: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
>
> Signed-off-by: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
> ---
> testcases/kernel/syscalls/madvise/madvise02.c | 38 ++++++++++++++++++++++++---
> 1 file changed, 34 insertions(+), 4 deletions(-)
>
> diff --git a/testcases/kernel/syscalls/madvise/madvise02.c b/testcases/kernel/syscalls/madvise/madvise02.c
> index e7f4656..08ed717 100644
> --- a/testcases/kernel/syscalls/madvise/madvise02.c
> +++ b/testcases/kernel/syscalls/madvise/madvise02.c
> @@ -27,6 +27,8 @@
> * 2. advice is not a valid value
> * 3. application is attempting to release
> * locked or shared pages (with MADV_DONTNEED)
> + * 4. MADV_MERGEABLE or MADV_UNMERGEABLE was specified in advice,
> + * but kernel was not configured with CONFIG_KSM
> *
> * (B) Test Case for ENOMEM
> * 4. addresses in the specified range are not currently mapped
> @@ -52,9 +54,14 @@
> #include "usctest.h"
>
> #define MM_RLIMIT_RSS 5
> +/*
> + * when kernel is 2.6.32 or newer and /sys/kernel/mm/ksm is exist,
> + * we think kernel was configured with CONFIG_KSM.
> + */
> +#define KSM_SYS_DIR "/sys/kernel/mm/ksm"
>
> char *TCID = "madvise02";
> -int TST_TOTAL = 7;
> +int TST_TOTAL = 8;
>
> static void setup(void);
> static void cleanup(void);
> @@ -128,11 +135,34 @@ int main(int argc, char *argv[])
> TEST(madvise(file, stat.st_size, MADV_DONTNEED));
> check_and_print(EINVAL);
>
> - if (munmap(file, stat.st_size) == -1)
> - tst_brkm(TBROK | TERRNO, cleanup, "munmap failed");
> #endif /* if !defined(UCLINUX) */
>
> +#if defined(MADV_MERGEABLE) && defined(MADV_UNMERGEABLE)
> /* Test Case 4 */
> + if (tst_kvercmp(2, 6, 32) < 0) {
> + tst_resm(TCONF, "kernel samepage merging (KSM) needs "
> + "2.6.32 or higher, skip EINVAL test for "
> + "MADV_MERGEABLE and MADV_UNMERGEABLE.");
> + } else {
> + if (access(KSM_SYS_DIR, F_OK) < 0) {
> + tst_resm(TINFO, "kernel was not configured "
> + "with CONFIG_KSM");
> +
> + TEST(madvise(file, stat.st_size,
> + MADV_MERGEABLE));
> + check_and_print(EINVAL);
> +
> + TEST(madvise(file, stat.st_size,
> + MADV_UNMERGEABLE));
> + check_and_print(EINVAL);
> + }
> + }
> +#endif
> +
> + if (munmap(file, stat.st_size) == -1)
> + tst_brkm(TBROK | TERRNO, cleanup, "munmap failed");
> +
> + /* Test Case 5 */
>
> /* We cannot be sure, which region is mapped, which is
> * not, at runtime.
> @@ -169,7 +199,7 @@ int main(int argc, char *argv[])
> TEST(madvise(low, len, MADV_NORMAL));
> check_and_print(ENOMEM);
>
> - /* Test Case 5 */
> + /* Test Case 6 */
> /* Unmap the file map from low */
> if (munmap(low, stat.st_size / 2) < 0)
> tst_brkm(TBROK | TERRNO, cleanup,
------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
prev parent reply other threads:[~2014-02-25 3:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-16 10:26 [LTP] [PATCH] madvise/madvise02.c: extend EINVAL test for MADV_MERGEABLE and MADV_UNMERGEABLE advice Xiaoguang Wang
2014-02-25 3:22 ` Xiaoguang Wang [this message]
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=530C0C72.6090900@cn.fujitsu.com \
--to=wangxg.fnst@cn.fujitsu.com \
--cc=ltp-list@lists.sourceforge.net \
/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.