lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1471864865-28040-1-git-send-email-hofrat@osadl.org>
Date:   Mon, 22 Aug 2016 13:21:05 +0200
From:   Nicholas Mc Guire <hofrat@...dl.org>
To:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:     Josh Triplett <josh@...htriplett.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Lai Jiangshan <jiangshanlai@...il.com>,
        linux-kernel@...r.kernel.org, Nicholas Mc Guire <hofrat@...dl.org>
Subject: [PATCH RFC] rcuperf: make timeout HZ independent

Make the probability of ftrace dump not interfering with other writers 
grace period, HZ independent.

Signed-off-by: Nicholas Mc Guire <hofrat@...dl.org>
---

Problem found by coccinelle script

Passing in jiffies as value allows for this "fixed" delay varying by 
one order of magnitude. As it is intended to reduce the probability of 
interference this probability should not be dependent on the systems 
HZ setting. Its probably more cosmetic but I guess this is the cleaner
way for fixed delays.

Q: Could not really figure out why the _interruptible_ version is used
   here - I would assume that schedule_timeout() would be what is needed
   here, as this should simply be a fixed delay.

Patch was compile tested with: x86_64_defconfig + CONFIG_RCU_PERF_TEST=m

Patch is against 4.8.0-rc2 (localversion-next is -next-20160822)

 kernel/rcu/rcuperf.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/rcu/rcuperf.c b/kernel/rcu/rcuperf.c
index 123ccbd..4cd8655 100644
--- a/kernel/rcu/rcuperf.c
+++ b/kernel/rcu/rcuperf.c
@@ -404,7 +404,8 @@ rcu_perf_writer(void *arg)
 				 perf_type, PERF_FLAG, me, MIN_MEAS);
 			if (atomic_inc_return(&n_rcu_perf_writer_finished) >=
 			    nrealwriters) {
-				schedule_timeout_interruptible(10);
+				schedule_timeout_interruptible(
+							msecs_to_jiffies(10));
 				rcu_ftrace_dump(DUMP_ALL);
 				PERFOUT_STRING("Test complete");
 				t_rcu_perf_writer_finished = t;
-- 
2.1.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ