public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Real-Time Preemption, using msecs_to_jiffies() instead of HZ
@ 2005-06-10 16:42 Luca Falavigna
  2005-06-11 13:32 ` Ingo Molnar
  0 siblings, 1 reply; 3+ messages in thread
From: Luca Falavigna @ 2005-06-10 16:42 UTC (permalink / raw)
  To: mingo; +Cc: Linux Kernel Mailing List

Hi,

I was looking at kernel/softlookup.c when I noticed you used HZ in order to get
a 10-second delay:

void softlockup_tick(struct pt_regs *regs)
{
	...
	if (time_after(jiffies, timestamp + 10*HZ)) {
	...
}

I created this small patch (built against version 2.6.12-rc6-V0.7.48-05) which
does use of msecs_to_jiffies() to get a correct behaviour with every platform.
Similarly I modified function watchdog and kernel/irq/autoprobe.c file
(probe_irq_on function).

Here is the patch:

--- ./rtp-2.6.12-rc6-V0.7.48-05.orig	2005-06-10 16:27:48.000000000 +0000
+++ ./rtp-2.6.12-rc6-V0.7.48-05		2005-06-10 16:30:18.000000000 +0000
@@ -7425,7 +7425,7 @@
 +	/*
 +	 * Wait for longstanding interrupts to trigger, 20 msec delay:
 +	 */
-+	msleep(HZ/50);
++	msleep(msecs_to_jiffies(20));

  	/*
  	 * enable any unassigned irqs
@@ -7452,7 +7452,7 @@
  	 */
 -	for (delay = jiffies + HZ/10; time_after(delay, jiffies); )
 -		/* about 100ms delay */ barrier();
-+	msleep(HZ/10);
++	msleep(msecs_to_jiffies(100));

  	/*
  	 * Now filter out any obviously spurious interrupts
@@ -10712,7 +10712,7 @@
 +	if (did_panic)
 +		return;
 +
-+	if (time_after(jiffies, timestamp + 10*HZ)) {
++	if (time_after(jiffies, timestamp + msecs_to_jiffies(10000))) {
 +		per_cpu(print_timestamp, this_cpu) = timestamp;
 +
 +		spin_lock(&print_lock);
@@ -10748,7 +10748,7 @@
 +	 */
 +	while (!kthread_should_stop()) {
 +		set_current_state(TASK_INTERRUPTIBLE);
-+		msleep_interruptible(HZ);
++		msleep_interruptible(msecs_to_jiffies(1000));
 +		touch_softlockup_watchdog();
 +	}
 +	__set_current_state(TASK_RUNNING);



Regards,

-- 
					Luca




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-06-13 16:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-10 16:42 [PATCH] Real-Time Preemption, using msecs_to_jiffies() instead of HZ Luca Falavigna
2005-06-11 13:32 ` Ingo Molnar
2005-06-13  2:10   ` Luca Falavigna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox