From patchwork Tue Aug 20 12:20:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiao Yang X-Patchwork-Id: 1150086 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=163.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=163.com header.i=@163.com header.b="cR/NBbBM"; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46CVJ24ZQbz9s3Z for ; Tue, 20 Aug 2019 22:20:49 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 47AAF3C1D25 for ; Tue, 20 Aug 2019 14:20:37 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [217.194.8.3]) by picard.linux.it (Postfix) with ESMTP id AAAC13C1D2E for ; Tue, 20 Aug 2019 14:20:30 +0200 (CEST) Received: from m12-12.163.com (m12-12.163.com [220.181.12.12]) by in-3.smtp.seeweb.it (Postfix) with ESMTP id 939391A00F38 for ; Tue, 20 Aug 2019 14:20:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=KWrM+ /sivtP4uScKJMrdO5OYk+BF+wuqBuzq8xW4KB0=; b=cR/NBbBM7gnsp2AI7fb5H 8MTBoYl87rGCvHDclFFEWUy6tbTMZLUqk/NqMT+Df7TRYZ9y4r0itbDBvivyL4OV 890rnUVzhU7ODzKbcnkdakmrMSRBefRYK1YmvkhNkTiIOy9TXMtAt+mi7AQw2WVu 90cks1H1+T2i8AW4VvX0eg= Received: from localhost.localdomain (unknown [183.210.53.88]) by smtp8 (Coremail) with SMTP id DMCowABHdu6E5VtdDrNWIA--.4630S2; Tue, 20 Aug 2019 20:20:22 +0800 (CST) From: Xiao Yang To: ltp@lists.linux.it Date: Tue, 20 Aug 2019 20:20:16 +0800 Message-Id: <20190820122017.26015-1-ice_yangxiao@163.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-CM-TRANSID: DMCowABHdu6E5VtdDrNWIA--.4630S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxWw1fCr1kZr1DZFW8Xr1rtFb_yoW5Wr17pr 13Gr4agr1rAF1xtwnrGFykArWrAw13tF4UArs3Wr4rCrW5Z34UGr4YgFyfJry5ArWjv34Y qF1rAFyfJr15Xw7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UV6wNUUUUU= X-Originating-IP: [183.210.53.88] X-CM-SenderInfo: 5lfhs5xdqj5xldr6il2tof0z/xtbBEAcXXlUMOvhaEgAAsN X-Virus-Scanned: clamav-milter 0.99.2 at in-3.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, FREEMAIL_FROM, SPF_HELO_NONE, SPF_PASS autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-3.smtp.seeweb.it Subject: [LTP] [PATCH 1/2] syscalls/ioprio_set01.c: Stop decreasing priority continuously in loops X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Running ioprio_set01 -i 5 gets the following error: ------------------------------------------------- ... ioprio_set01.c:29: INFO: ioprio_get returned class BEST-EFFORT prio 1 ioprio.h:89: PASS: ioprio_set new class BEST-EFFORT, new prio 2 ioprio.h:89: PASS: ioprio_set new class BEST-EFFORT, new prio 0 ioprio_set01.c:29: INFO: ioprio_get returned class BEST-EFFORT prio 0 ioprio.h:89: PASS: ioprio_set new class BEST-EFFORT, new prio 1 ioprio_set01.c:49: FAIL: ioprio increase out of range (-1) ... ------------------------------------------------- The I/O scheduling priority of process is decreased by 1 continuously in loops so that it is out of range(i.e. 0~7) finally. We fix the issue by setting priority to original value before running test. Also fix a typo because second subtest actually decreases priority. Signed-off-by: Xiao Yang --- .../kernel/syscalls/ioprio/ioprio_set01.c | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/testcases/kernel/syscalls/ioprio/ioprio_set01.c b/testcases/kernel/syscalls/ioprio/ioprio_set01.c index 24bf8a9ca..5b89ac81e 100644 --- a/testcases/kernel/syscalls/ioprio/ioprio_set01.c +++ b/testcases/kernel/syscalls/ioprio/ioprio_set01.c @@ -14,20 +14,12 @@ #include "lapi/syscalls.h" #include "ioprio.h" +static int orig_class; +static int orig_prio; + static void run(void) { - int class, prio; - - /* Get the I/O priority for the current process */ - TEST(sys_ioprio_get(IOPRIO_WHO_PROCESS, 0)); - - if (TST_RET == -1) - tst_brk(TBROK | TTERRNO, "ioprio_get failed"); - - class = IOPRIO_PRIO_CLASS(TST_RET); - prio = IOPRIO_PRIO_LEVEL(TST_RET); - tst_res(TINFO, "ioprio_get returned class %s prio %d", - to_class_str[class], prio); + int class = orig_class, prio = orig_prio; /* Bump prio to what it was + 1 */ class = IOPRIO_CLASS_BE; @@ -46,7 +38,7 @@ static void run(void) /* Bump prio down two notches */ if (!prio_in_range(prio - 2)) { - tst_res(TFAIL, "ioprio increase out of range (%d)", prio - 2); + tst_res(TFAIL, "ioprio decrease out of range (%d)", prio - 2); return; } prio = (prio - 2); @@ -58,6 +50,21 @@ static void run(void) ioprio_check_setting(class, prio, 1); } +static void setup(void) +{ + /* Get the I/O priority for the current process */ + TEST(sys_ioprio_get(IOPRIO_WHO_PROCESS, 0)); + if (TST_RET == -1) + tst_brk(TBROK | TTERRNO, "ioprio_get failed"); + + orig_class = IOPRIO_PRIO_CLASS(TST_RET); + orig_prio = IOPRIO_PRIO_LEVEL(TST_RET); + + tst_res(TINFO, "ioprio_get returned class %s prio %d", + to_class_str[orig_class], orig_prio); +} + static struct tst_test test = { + .setup = setup, .test_all = run, }; From patchwork Tue Aug 20 12:20:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiao Yang X-Patchwork-Id: 1150085 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=213.254.12.146; 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=163.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=163.com header.i=@163.com header.b="one/1FC1"; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46CVHg545Sz9s3Z for ; Tue, 20 Aug 2019 22:20:31 +1000 (AEST) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id A98F63C1D08 for ; Tue, 20 Aug 2019 14:20:28 +0200 (CEST) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [217.194.8.3]) by picard.linux.it (Postfix) with ESMTP id 50A1D3C13D8 for ; Tue, 20 Aug 2019 14:20:26 +0200 (CEST) Received: from m12-12.163.com (m12-12.163.com [220.181.12.12]) by in-3.smtp.seeweb.it (Postfix) with ESMTP id 90CE61A00F37 for ; Tue, 20 Aug 2019 14:20:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=NtGlo 3Rm5Ch68aCeyQzvEGwyOX2KRMPvmWPYq04nf30=; b=one/1FC14WKCSKFVvUPKJ uhq6kyIDhqjnWlfBO1EAGRpl4DB7C6ki8TKOoR4V9tUSvw4mYxhYACVUsXUnm0oQ Oj2U7tWV4Qb6I8ljnIXh0fHlORJrWf7uaMZb+9KtoJbhNtwlExoW4OfB3redhIeh ppqo+r3qgZ+pV6qC5Yq1tc= Received: from localhost.localdomain (unknown [183.210.53.88]) by smtp8 (Coremail) with SMTP id DMCowABHdu6E5VtdDrNWIA--.4630S3; Tue, 20 Aug 2019 20:20:24 +0800 (CST) From: Xiao Yang To: ltp@lists.linux.it Date: Tue, 20 Aug 2019 20:20:17 +0800 Message-Id: <20190820122017.26015-2-ice_yangxiao@163.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190820122017.26015-1-ice_yangxiao@163.com> References: <20190820122017.26015-1-ice_yangxiao@163.com> MIME-Version: 1.0 X-CM-TRANSID: DMCowABHdu6E5VtdDrNWIA--.4630S3 X-Coremail-Antispam: 1Uf129KBjvJXoW7uFWUZw13Gw13Ww4UJryrZwb_yoW8Kw4rpr 13Gr43ur10yF1xJwn8JF1kAr18tw45JF4rJrsxJr48Cr18Zr1UJr4YgFyfJry5ArWUA34Y qF4rXFyUAF1UXwUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UazuZUUUUU= X-Originating-IP: [183.210.53.88] X-CM-SenderInfo: 5lfhs5xdqj5xldr6il2tof0z/1tbiFhIXXlWBjIhKKwAAs8 X-Virus-Scanned: clamav-milter 0.99.2 at in-3.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, FREEMAIL_FROM, SPF_HELO_NONE, SPF_PASS autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-3.smtp.seeweb.it Subject: [LTP] [PATCH 2/2] syscalls/ioprio_set01.c: Improve process for priority overflow X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" 1) If original priority is 0, We should report TCONF for priority overflow in second subtest. e.g. running ionice -n 0 ./ioprio_set01: ---------------------------------------------------------- ... ioprio_set01.c:65: INFO: ioprio_get returned class BEST-EFFORT prio 0 ioprio.h:89: PASS: ioprio_set new class BEST-EFFORT, new prio 1 ioprio_set01.c:43: CONF: ioprio decrease out of range (-1) ... ---------------------------------------------------------- 2) If original priority is 7, we should report TCONF for priority overflow in first subtest and continue to run second subtest. e.g. running ionice -n 7 ./ioprio_set01: ---------------------------------------------------------- ... ioprio_set01.c:65: INFO: ioprio_get returned class BEST-EFFORT prio 7 ioprio_set01.c:28: CONF: ioprio increase out of range (8) ioprio.h:89: PASS: ioprio_set new class BEST-EFFORT, new prio 6 ... --------------------------------------------------------- Signed-off-by: Xiao Yang --- testcases/kernel/syscalls/ioprio/ioprio_set01.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/testcases/kernel/syscalls/ioprio/ioprio_set01.c b/testcases/kernel/syscalls/ioprio/ioprio_set01.c index 5b89ac81e..19953ba36 100644 --- a/testcases/kernel/syscalls/ioprio/ioprio_set01.c +++ b/testcases/kernel/syscalls/ioprio/ioprio_set01.c @@ -23,11 +23,11 @@ static void run(void) /* Bump prio to what it was + 1 */ class = IOPRIO_CLASS_BE; - if (!prio_in_range(prio + 1)) { - tst_res(TFAIL, "ioprio increase out of range (%d)", prio + 1); - return; + prio = prio + 1; + if (!prio_in_range(prio)) { + tst_res(TCONF, "ioprio increase out of range (%d)", prio); + goto second; } - prio = (prio + 1); TEST(sys_ioprio_set(IOPRIO_WHO_PROCESS, 0, IOPRIO_PRIO_VALUE(class, prio))); @@ -36,12 +36,14 @@ static void run(void) else ioprio_check_setting(class, prio, 1); +second: /* Bump prio down two notches */ - if (!prio_in_range(prio - 2)) { - tst_res(TFAIL, "ioprio decrease out of range (%d)", prio - 2); + prio = prio - 2; + if (!prio_in_range(prio)) { + tst_res(TCONF, "ioprio decrease out of range (%d)", prio); return; } - prio = (prio - 2); + TEST(sys_ioprio_set(IOPRIO_WHO_PROCESS, 0, IOPRIO_PRIO_VALUE(class, prio))); if (TST_RET == -1)