From patchwork Tue Mar 20 13:02:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stanislav Kholmanskikh X-Patchwork-Id: 888212 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=oracle.com header.i=@oracle.com header.b="pLJeUTgN"; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 405CkN2xWLz9s0v for ; Wed, 21 Mar 2018 00:01:47 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 3289F3E780C for ; Tue, 20 Mar 2018 14:01:42 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-5.smtp.seeweb.it (in-5.smtp.seeweb.it [217.194.8.5]) by picard.linux.it (Postfix) with ESMTP id 5D9E33E77FA for ; Tue, 20 Mar 2018 14:01:40 +0100 (CET) Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by in-5.smtp.seeweb.it (Postfix) with ESMTPS id 2764F602047 for ; Tue, 20 Mar 2018 14:01:38 +0100 (CET) Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w2KCxL4j006156 for ; Tue, 20 Mar 2018 13:01:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=corp-2017-10-26; bh=Lbdw2t0daiXnN2hztZhrLLeuOEPaergwELwKGUnOimU=; b=pLJeUTgNFEjinnORov6mkmOSLvEWg6vKJR294z2zEawQ9IhpoSTQjdYe5KhuGWZxjrx8 RlNtvIrYP5gi1XgQit5X+iKHACNRbH1l1Kz/3TeB+Qg/xxVCP0TNCB9tnCc4NVP3zV8g Wv1oIBgXACfs+zz+bOJCZfMHTtHoJLZuUV6EW6VnHwUrGIW8p0A+2TuZ+RNuJ7kw2Bxm 8IcAUlpHOHHQhl7uJgUC6cn20+e/5IhsFu7Q8crNjAnSPKmu3zffF6UxACqb/0TclNWO cbt6E5vtvJ9QKDa5vkg7D1hps5PflmE27dnGbvhbBVc+rjR7KIhGoYU8sfPU+LiV6j3j Fg== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp2120.oracle.com with ESMTP id 2gu2sr80e9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 20 Mar 2018 13:01:36 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w2KD1avc025332 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 20 Mar 2018 13:01:36 GMT Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w2KD1aki001301 for ; Tue, 20 Mar 2018 13:01:36 GMT Received: from kholmanskikh.ru.oracle.com (/10.162.81.25) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 20 Mar 2018 06:01:36 -0700 From: Stanislav Kholmanskikh To: ltp@lists.linux.it Date: Tue, 20 Mar 2018 16:02:31 +0300 Message-Id: <1521550951-8124-2-git-send-email-stanislav.kholmanskikh@oracle.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1521550951-8124-1-git-send-email-stanislav.kholmanskikh@oracle.com> References: <20180320120134.GB9226@ai> <1521550951-8124-1-git-send-email-stanislav.kholmanskikh@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8837 signatures=668693 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=857 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1803200127 X-Virus-Scanned: clamav-milter 0.99.2 at in-5.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, SPF_PASS, T_RP_MATCHES_RCVD autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-5.smtp.seeweb.it Cc: vasily.isaenko@oracle.com Subject: [LTP] [PATCH V2 2/2] ksm: perform cleanup actions only when they are actually required X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.18 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" This one is similar to commit 8ae3916674fa ("mem/oom, tunable: perform cleanup actions only when they are actually required") i.e. we are making sure that ksm tests do not revert any not yet performed actions. Signed-off-by: Stanislav Kholmanskikh --- testcases/kernel/mem/ksm/ksm02.c | 6 +++++- testcases/kernel/mem/ksm/ksm03.c | 6 +++++- testcases/kernel/mem/ksm/ksm04.c | 11 +++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/testcases/kernel/mem/ksm/ksm02.c b/testcases/kernel/mem/ksm/ksm02.c index 03b44c0..22c78cb 100644 --- a/testcases/kernel/mem/ksm/ksm02.c +++ b/testcases/kernel/mem/ksm/ksm02.c @@ -59,6 +59,8 @@ #ifdef HAVE_NUMA_V2 #include +static int cpuset_mounted; + static void verify_ksm(void) { unsigned long nmask[MAXNODES / BITS_PER_LONG] = { 0 }; @@ -88,7 +90,8 @@ static void cleanup(void) restore_max_page_sharing(); - umount_mem(CPATH, CPATH_NEW); + if (cpuset_mounted) + umount_mem(CPATH, CPATH_NEW); } static void setup(void) @@ -106,6 +109,7 @@ static void setup(void) } mount_mem("cpuset", "cpuset", NULL, CPATH, CPATH_NEW); + cpuset_mounted = 1; } static struct tst_test test = { diff --git a/testcases/kernel/mem/ksm/ksm03.c b/testcases/kernel/mem/ksm/ksm03.c index 51cc923..284f4ec 100644 --- a/testcases/kernel/mem/ksm/ksm03.c +++ b/testcases/kernel/mem/ksm/ksm03.c @@ -59,6 +59,8 @@ #include "mem.h" #include "ksm_common.h" +static int memcg_mounted; + static void verify_ksm(void) { write_memcg(); @@ -79,6 +81,7 @@ static void setup(void) save_max_page_sharing(); parse_ksm_options(opt_sizestr, &size, opt_numstr, &num, opt_unitstr, &unit); mount_mem("memcg", "cgroup", "memory", MEMCG_PATH, MEMCG_PATH_NEW); + memcg_mounted = 1; } static void cleanup(void) @@ -89,7 +92,8 @@ static void cleanup(void) restore_max_page_sharing(); - umount_mem(MEMCG_PATH, MEMCG_PATH_NEW); + if (memcg_mounted) + umount_mem(MEMCG_PATH, MEMCG_PATH_NEW); } static struct tst_test test = { diff --git a/testcases/kernel/mem/ksm/ksm04.c b/testcases/kernel/mem/ksm/ksm04.c index 835222f..9ffef4d 100644 --- a/testcases/kernel/mem/ksm/ksm04.c +++ b/testcases/kernel/mem/ksm/ksm04.c @@ -59,6 +59,9 @@ #ifdef HAVE_NUMA_V2 #include +static int cpuset_mounted; +static int memcg_mounted; + static void verify_ksm(void) { unsigned long nmask[MAXNODES / BITS_PER_LONG] = { 0 }; @@ -90,8 +93,10 @@ static void cleanup(void) restore_max_page_sharing(); - umount_mem(CPATH, CPATH_NEW); - umount_mem(MEMCG_PATH, MEMCG_PATH_NEW); + if (cpuset_mounted) + umount_mem(CPATH, CPATH_NEW); + if (memcg_mounted) + umount_mem(MEMCG_PATH, MEMCG_PATH_NEW); } static void setup(void) @@ -109,7 +114,9 @@ static void setup(void) parse_ksm_options(opt_sizestr, &size, opt_numstr, &num, opt_unitstr, &unit); mount_mem("cpuset", "cpuset", NULL, CPATH, CPATH_NEW); + cpuset_mounted = 1; mount_mem("memcg", "cgroup", "memory", MEMCG_PATH, MEMCG_PATH_NEW); + memcg_mounted = 1; } static struct tst_test test = {