public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: David Brown <dmlb2000@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, John Stultz <johnstul@us.ibm.com>,
	Lee Revell <rlrevell@joe-job.com>
Subject: Re: 2.6.16-rc6-rt7
Date: Thu, 16 Mar 2006 18:50:21 +0100	[thread overview]
Message-ID: <1142531421.29968.28.camel@localhost.localdomain> (raw)
In-Reply-To: <9c21eeae0603160939sa48bbe7i84698c8a2187ae4@mail.gmail.com>

On Thu, 2006-03-16 at 09:39 -0800, David Brown wrote:
> I've been having issues with the realtime patch set and using scp
> (specifically scp, wget, curl, git, cvs everything else works fine). I
> was wondering what extra debugging features are helpful to have built
> into the kernel that could help me nail down why this bug is
> happening.
> 
> Specifically what's happening is scp is freezing my system, there
> haven't been any kernel warnings or panics upon execution of scp, it
> just freezes, every other application that uses network seems to work
> just fine, so far it's just been scp.

Just found a problem in the highres timer merge. Can you try the patch
below?

	tglx

Index: linux-2.6.16-rc6/include/linux/hrtimer.h
===================================================================
--- linux-2.6.16-rc6.orig/include/linux/hrtimer.h
+++ linux-2.6.16-rc6/include/linux/hrtimer.h
@@ -114,6 +114,8 @@ extern void hrtimer_clock_notify(void);
 extern void clock_was_set(void);
 extern int hrtimer_interrupt(void);
 
+#define hrtimer_cb_get_time(t)	(t)->base->get_time()
+
 /*
  * The resolution of the clocks. The resolution value is returned in
  * the clock_getres() system call to give application programmers an
@@ -136,6 +138,8 @@ extern int hrtimer_interrupt(void);
 #define clock_was_set()		do { } while (0)
 #define hrtimer_clock_notify()	do { } while (0)
 
+#define hrtimer_cb_get_time(t)	(t)->base->softirq_time
+
 #endif
 
 # if (BITS_PER_LONG == 64) || defined(CONFIG_KTIME_SCALAR)
Index: linux-2.6.16-rc6/kernel/hrtimer.c
===================================================================
--- linux-2.6.16-rc6.orig/kernel/hrtimer.c
+++ linux-2.6.16-rc6/kernel/hrtimer.c
@@ -970,8 +970,6 @@ static inline void run_hrtimer_hres_queu
 {
 	spin_lock_irq(&base->lock);
 
-	base->softirq_time = base->get_softirq_time();
-
 	while (!list_empty(&base->cb_pending)) {
 		struct hrtimer *timer;
 		int (*fn)(struct hrtimer *);
Index: linux-2.6.16-rc6/kernel/itimer.c
===================================================================
--- linux-2.6.16-rc6.orig/kernel/itimer.c
+++ linux-2.6.16-rc6/kernel/itimer.c
@@ -136,7 +136,7 @@ int it_real_fn(struct hrtimer *timer)
 	send_group_sig_info(SIGALRM, SEND_SIG_PRIV, sig->tsk);
 
 	if (sig->it_real_incr.tv64 != 0) {
-		hrtimer_forward(timer, timer->base->softirq_time,
+		hrtimer_forward(timer, hrtimer_cb_get_time(timer),
 				sig->it_real_incr);
 		return HRTIMER_RESTART;
 	}
Index: linux-2.6.16-rc6/kernel/posix-timers.c
===================================================================
--- linux-2.6.16-rc6.orig/kernel/posix-timers.c
+++ linux-2.6.16-rc6/kernel/posix-timers.c
@@ -355,9 +355,10 @@ static int posix_timer_fn(struct hrtimer
 		if (timr->it.real.interval.tv64 != 0) {
 			timr->it_overrun +=
 				hrtimer_forward(timer,
-						timer->base->softirq_time,
+						hrtimer_cb_get_time(timer),
 						timr->it.real.interval);
 			ret = HRTIMER_RESTART;
+			++timr->it_requeue_pending;
 		}
 	}
 



  reply	other threads:[~2006-03-16 17:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-16  9:56 2.6.16-rc6-rt7 Ingo Molnar
2006-03-16 17:39 ` 2.6.16-rc6-rt7 David Brown
2006-03-16 17:50   ` Thomas Gleixner [this message]
2006-03-17  8:20     ` 2.6.16-rc6-rt7 Ingo Molnar
2006-03-16 21:42 ` 2.6.16-rc6-rt7 Michal Piotrowski
2006-03-17 23:36 ` 2.6.16-rc6-rt7 Tom Rini
2006-03-18  8:57   ` 2.6.16-rc6-rt7 Ingo Molnar
2006-03-18 12:54     ` 2.6.16-rc6-rt7 Tom Rini
2006-03-18 10:37   ` 2.6.16-rc6-rt7 Thomas Gleixner
2006-03-18 12:54     ` 2.6.16-rc6-rt7 Tom Rini
2006-03-18 12:58       ` 2.6.16-rc6-rt7 Thomas Gleixner

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=1142531421.29968.28.camel@localhost.localdomain \
    --to=tglx@linutronix.de \
    --cc=dmlb2000@gmail.com \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rlrevell@joe-job.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox