public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	david singleton <dsingleton@mvista.com>,
	Todd.Kneisel@bull.com, Felix Oxley <lkml@oxley.org>
Subject: Re: 2.6.14-rc3-rt2
Date: Wed, 5 Oct 2005 16:41:27 +0200	[thread overview]
Message-ID: <20051005144127.GA31755@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.58.0510050928440.23350@localhost.localdomain>


* Steven Rostedt <rostedt@goodmis.org> wrote:

> Hi Ingo,
> 
> I just notice that I get the following output:
> 
> BUG: gdm:4351 task might have lost a preemption check!
>  [<c010433f>] dump_stack+0x1f/0x30 (20)
>  [<c011c06f>] preempt_enable_no_resched+0x5f/0x70 (20)
>  [<c011b6c9>] sys_sched_yield+0x69/0xb0 (24)
>  [<c01033d6>] syscall_call+0x7/0xb (-8116)
> ---------------------------
> | preempt count: 00000000 ]
> | 0-level deep critical section nesting:
> ----------------------------------------
> 
> ------------------------------
> | showing all locks held by: |  (gdm/4351 [dbb727a0, 118]):
> ------------------------------
> 
> 
> I looked at this a little and the offending code is here in
> sys_sched_yield:
> 
> 	/*
> 	 * Since we are going to call schedule() anyway, there's
> 	 * no need to preempt or enable interrupts:
> 	 */
> 	spin_unlock_no_resched(&rq->lock);
> 
> 	__schedule();
> 
> So what's the reason for the message?  Is it to detect when a 
> preemption count goes to zero and isn't rescheduled?  At least in this 
> part of the kernel it's ok because it is just about to call schedule.  
> So is there some way to flag this call to not produce the message?  
> Since the message is only outputed once, it seems useless if it only 
> gets outputted on a false positive.

the patch below should solve this. I've added the warning to 
preempt_enable_no_resched() because we had bugs in this area, and i 
wanted to have a chance to review all 'potentially problematic' places.  
So i'm changing them to __preempt_enable_no_resched() when they turn out 
to be safe. (In the future we'll likely remove the debugging message and 
get rid of __preempt_enable_no_resched().)

	Ingo

Index: linux/include/linux/spinlock_api_up.h
===================================================================
--- linux.orig/include/linux/spinlock_api_up.h
+++ linux/include/linux/spinlock_api_up.h
@@ -45,7 +45,7 @@
   do { preempt_enable(); __release(lock); (void)(lock); } while (0)
 
 #define __UNLOCK_NO_RESCHED(lock) \
-  do { preempt_enable_no_resched(); __release(lock); (void)(lock); } while (0)
+  do { __preempt_enable_no_resched(); __release(lock); (void)(lock); } while (0)
 
 #define __UNLOCK_BH(lock) \
   do { preempt_enable_no_resched(); local_bh_enable(); __release(lock); (void)(lock); } while (0)

  parent reply	other threads:[~2005-10-05 14:41 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-04  8:44 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 12:51 ` 2.6.14-rc3-rt2 K.R. Foley
2005-10-04 13:00   ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 13:45     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-04 14:27       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 15:16         ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 15:32           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 15:50             ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 15:46               ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 16:09                 ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 15:34           ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 16:09           ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 16:32             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-04 16:46               ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 17:58             ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 17:54               ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 18:11                 ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-04 18:27                   ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-04 20:03                     ` 2.6.14-rc3-rt2 Dinakar Guniguntala
2005-10-05  7:37                       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 14:25     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05  7:39       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 16:44     ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 18:11       ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 18:20         ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 18:58           ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 20:45             ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 20:49               ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-04 20:53                 ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-04 21:21                   ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-05 10:56                 ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 17:14                   ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-06  7:54                     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:06                     ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:10                       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  8:29                         ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:33                           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  8:44                             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06 16:04                             ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-06  8:37                           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  8:37                         ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06  8:49                           ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-06  9:48                             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-06 10:04                               ` 2.6.14-rc3-rt2 Andi Kleen
2005-10-06 11:08                                 ` [PATCH] cleanup u32 flags in acpi spin_lock calls Steven Rostedt
2005-10-06 16:25                                 ` 2.6.14-rc3-rt2 Luck, Tony
2005-10-06 15:26                             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:08                               ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:15                                 ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-07 12:38                                   ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 13:26                                     ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-11  8:01                               ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-11  9:09                                 ` 2.6.14-rc3-rt12 Steven Rostedt
2005-10-11  9:12                                   ` 2.6.14-rc3-rt12 Ingo Molnar
2005-10-06  9:48                           ` 2.6.14-rc3-rt2 Andi Kleen
2005-10-06  9:36                         ` 2.6.14-rc3-rt2 Andi Kleen
2005-10-04 20:51               ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05  7:12               ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 14:50                 ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05  7:41               ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-04 20:38           ` 2.6.14-rc3-rt2 Mark Knecht
2005-10-06 14:31           ` 2.6.14-rc3-rt2 Lee Revell
2005-10-06 15:00             ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 13:36 ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 14:29   ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-05 15:41     ` 2.6.14-rc3-rt2 Daniel Walker
2005-10-05 15:48     ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05 15:58       ` 2.6.14-rc3-rt2 david singleton
2005-10-05 16:08         ` 2.6.14-rc3-rt2 Thomas Gleixner
2005-10-05 16:13           ` 2.6.14-rc3-rt2 david singleton
2005-10-05 15:58       ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 16:07         ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:05           ` 2.6.14-rc3-rt2 Steven Rostedt
2005-10-07 11:14             ` 2.6.14-rc3-rt2 Ingo Molnar
2005-10-05 14:41   ` Ingo Molnar [this message]
2005-10-05 20:24 ` 2.6.14-rc3-rt2 Esben Nielsen
2005-10-06 16:47 ` 2.6.14-rc3-rt2 Todd Kneisel
2005-10-06 17:18   ` 2.6.14-rc3-rt2 david singleton

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=20051005144127.GA31755@elte.hu \
    --to=mingo@elte.hu \
    --cc=Todd.Kneisel@bull.com \
    --cc=dsingleton@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@oxley.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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