linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Linux 2.6.21-rc2
@ 2007-02-28  5:16 Linus Torvalds
  2007-02-28  5:50 ` Gabriel C
                   ` (12 more replies)
  0 siblings, 13 replies; 193+ messages in thread
From: Linus Torvalds @ 2007-02-28  5:16 UTC (permalink / raw)
  To: Linux Kernel Mailing List


Oh well.. I'm not very proud of this, because quite frankly, -rc2 has way 
more changes than I really like.

And yeah, it's largely my fault, because I simply missed a V4L/DVB merge 
that came in before the merge window closed, but since I didn't notice it 
didn't make -rc1, and as such it got merged late and is in -rc2 instead.

But because I'll flail around wildly and rather blame anything else than 
my own incompetence, I'll just claim that all the other kernel developers 
have been irresponsible, and caused -rc2 to be bigger than needed. In some 
areas (you know who you are) it may even be true..

Apart from the V4L/DVB merge, we've got a late PARISC update, and a number 
of driver updates (ata, networking, usb) changes. Along with the normal 
smattering of random stuff (core networking, selinux, infiniband, agp, 
mips, arm).

Anyway, I really hope the thing starts calming down now, and everybody 
should take a hard look at the regressions lists that Adrian has started 
sending out. We already fixed some of them, but there is more to go..

Thanks,

		Linus

^ permalink raw reply	[flat|nested] 193+ messages in thread
* [PATCH] dynticks: don't unlock spinlock twice
@ 2007-03-03  2:52 Andres Salomon
  2007-03-03  9:02 ` Thomas Gleixner
  0 siblings, 1 reply; 193+ messages in thread
From: Andres Salomon @ 2007-03-03  2:52 UTC (permalink / raw)
  To: linux-kernel; +Cc: Marcelo Tosatti, Thomas Gleixner, Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]

During boot with dynticks enabled, we would sometimes get:

[   35.271900] Switched to high resolution mode on CPU 0
[   35.304468] BUG: spinlock already unlocked on CPU#0, swapper/1
[   35.338099]  lock: c06428a0, .magic: dead4ead, .owner: <none>/-1,
.owner_cpu:
 -1
[   35.373597]  [<c04d7cf0>] _raw_spin_unlock+0x28/0x67
[   35.406647]  [<c05ba279>] _spin_unlock+0x5/0x23
[   35.439369]  [<c04255f7>] tick_sched_timer+0x4e/0xa7
[   35.472388]  [<c04255a9>] tick_sched_timer+0x0/0xa7
[   35.504833]  [<c0422528>] hrtimer_run_queues+0x199/0x1ec
[   35.537617]  [<c0416b72>] run_timer_softirq+0x12/0x166
[   35.570019]  [<c04144d9>] __do_softirq+0x40/0x85

[   35.601542]  [<c0405494>] do_softirq+0x53/0xa9
...

This appears to be caused by run_hrtimer_queue() (called by
hrtimer_run_queues) calling spin_unlock_irq(&cpu_base->lock) before
calling timer->function(timer).  The callback function
(tick_sched_timer) expects cpu_base->lock to be held when it is called,
and attempts to unlock it.  Since it doesn't seem like anything within
tick_sched_timer really needs to hold the lock (afaict), the attached
patch simply removes the lock handling from tick_sched_timer.  Things
called by tick_sched_timer may grab the base->lock, but that's fine (and
their responsibility).  Let me know if there's some reason why the lock
should be held, and I can rework this.

Signed-off-by: Andres Salomon <dilinger@debian.org>

[-- Attachment #2: x --]
[-- Type: text/plain, Size: 1415 bytes --]

diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 51556b9..b43bccb 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -422,13 +422,12 @@ static inline void tick_nohz_switch_to_nohz(void) { }
 #ifdef CONFIG_HIGH_RES_TIMERS
 /*
  * We rearm the timer until we get disabled by the idle code
- * Called with interrupts disabled and timer->base->cpu_base->lock held.
+ * Called with interrupts disabled and timer->base->cpu_base->lock *not* held.
  */
 static enum hrtimer_restart tick_sched_timer(struct hrtimer *timer)
 {
 	struct tick_sched *ts =
 		container_of(timer, struct tick_sched, sched_timer);
-	struct hrtimer_cpu_base *base = timer->base->cpu_base;
 	struct pt_regs *regs = get_irq_regs();
 	ktime_t now = ktime_get();
 
@@ -454,13 +453,12 @@ static enum hrtimer_restart tick_sched_timer(struct hrtimer *timer)
 		}
 		/*
 		 * update_process_times() might take tasklist_lock, hence
-		 * drop the base lock. sched-tick hrtimers are per-CPU and
-		 * never accessible by userspace APIs, so this is safe to do.
+		 * we don't attempt to grab the base lock here.
+		 * sched-tick hrtimers are per-CPU and never accessible by
+		 * userspace APIs, so this is safe to do.
 		 */
-		spin_unlock(&base->lock);
 		update_process_times(user_mode(regs));
 		profile_tick(CPU_PROFILING);
-		spin_lock(&base->lock);
 	}
 
 	/* Do not restart, when we are in the idle loop */

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

end of thread, other threads:[~2007-03-21 17:35 UTC | newest]

Thread overview: 193+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-28  5:16 Linux 2.6.21-rc2 Linus Torvalds
2007-02-28  5:50 ` Gabriel C
2007-02-28  7:13 ` [PATCH] affinity is not defined in non-smp kernels - i386 Fernando Luis Vázquez Cao
2007-02-28  7:16   ` [PATCH] affinity is not defined in non-smp kernels - i386 (v2) Fernando Luis Vázquez Cao
2007-02-28  7:24   ` [PATCH] affinity is not defined in non-smp kernels - i386 Eric W. Biederman
2007-02-28 17:31     ` Bill Davidsen
2007-02-28 18:21       ` Eric W. Biederman
2007-02-28 18:30       ` Linus Torvalds
2007-02-28  7:42   ` [PATCH] affinity is not defined in non-smp kernels - i386 (v2) Fernando Luis Vázquez Cao
2007-02-28  7:17 ` [PATCH] affinity is not defined in non-smp kernels - x86_64 Fernando Luis Vázquez Cao
2007-02-28  7:23 ` Linux 2.6.21-rc2 David Brown
2007-02-28  7:39 ` Brice Goglin
2007-02-28 13:09   ` Eric W. Biederman
2007-02-28 16:44     ` David Brown
2007-02-28 17:07       ` Randy Dunlap
2007-02-28  7:41 ` [PATCH] affinity is not defined in non-smp kernels - x86_64 Fernando Luis Vázquez Cao
2007-02-28  7:59 ` Linux 2.6.21-rc2 Damien Wyart
2007-03-05  1:50 ` [1/6] 2.6.21-rc2: known regressions Adrian Bunk
2007-03-05  2:26   ` Andrew Morton
2007-03-05  3:35   ` Greg KH
2007-03-06  0:55     ` Johannes Berg
2007-03-05  4:01   ` Mark Lord
2007-03-05  4:34     ` Greg KH
2007-03-05 12:42       ` Marcel Holtmann
2007-03-05  4:34   ` [BUG} usb regression in 2.6.21-rc2-git3 Mark Lord
2007-03-05  4:37     ` [BUG] sdhci regression in 2.6.21-rc2 Mark Lord
2007-03-05  5:36       ` Pierre Ossman
2007-03-05 14:25         ` Mark Lord
2007-03-05 15:19           ` Mark Lord
2007-03-06  4:17             ` Andrew Morton
2007-03-06  5:47               ` Pierre Ossman
2007-03-06  6:09                 ` Andrew Morton
2007-03-06  7:23                   ` Pierre Ossman
2007-03-05 15:20           ` Pierre Ossman
2007-03-05 15:23             ` Pierre Ossman
2007-03-05 15:35               ` Mark Lord
2007-03-05 16:00                 ` Pierre Ossman
2007-03-05 16:18                   ` Mark Lord
2007-03-05  4:43     ` [BUG} usb regression in 2.6.21-rc2-git3 Mark Lord
2007-03-12 14:56     ` [BUG} usb-serial " Mark Lord
2007-03-12 15:06       ` Oliver Neukum
2007-03-12 15:13         ` Mark Lord
2007-03-12 15:27           ` Oliver Neukum
2007-03-12 15:29           ` Greg KH
2007-03-12 15:38             ` Oliver Neukum
2007-03-12 16:03             ` Mark Lord
2007-03-12 16:10               ` Greg KH
2007-03-12 16:22                 ` Mark Lord
2007-03-12 16:11               ` Mark Lord
2007-03-12 16:14                 ` Mark Lord
2007-03-12 16:27                   ` Mark Lord
2007-03-12 16:50                     ` Mark Lord
2007-03-12 18:48                       ` Oliver Neukum
2007-03-12 20:22                         ` [PATCH] usb-serial regression (Oops) in 2.6.21-rc* Mark Lord
2007-03-12 20:33                           ` Greg KH
2007-03-12 22:20                             ` Mark Lord
2007-03-12 22:42                             ` Jim Radford
2007-03-12 22:59                               ` [PATCH] usb-serial regression fix Jim Radford
2007-03-13  0:18                                 ` Greg KH
2007-03-13  0:41                                   ` Jim Radford
2007-03-13  1:55                                     ` Mark Lord
2007-03-13  9:14                                       ` Jim Radford
2007-03-13 10:14                                         ` Oliver Neukum
2007-03-13 13:39                                           ` Mark Lord
2007-03-13 13:50                                             ` Oliver Neukum
2007-03-13 13:55                                         ` Mark Lord
2007-03-13 15:30                                           ` Jim Radford
2007-03-13 16:35                                             ` Mark Lord
2007-03-12 16:28                 ` [BUG} usb-serial regression in 2.6.21-rc2-git3 Oliver Neukum
2007-03-12 15:31       ` Greg KH
2007-03-07 11:06   ` [1/6] 2.6.21-rc2: known regressions Jeff Garzik
2007-03-07 22:17     ` Albert Hopkins
2007-03-05  1:50 ` [2/6] " Adrian Bunk
2007-03-07 11:09   ` Jeff Garzik
2007-03-07 16:10     ` Linus Torvalds
2007-03-08 12:03     ` Ash Milsted
2007-03-08 12:31   ` Michael S. Tsirkin
2007-03-08 15:11     ` Jeff Chua
2007-03-08 18:01     ` Linus Torvalds
2007-03-08 19:06       ` Ingo Molnar
2007-03-08 19:10         ` Ingo Molnar
2007-03-08 19:47         ` Michael S. Tsirkin
2007-03-08 20:10           ` Ingo Molnar
2007-03-08 19:25       ` Ingo Molnar
2007-03-08 23:07         ` Ingo Molnar
2007-03-08 23:12           ` Ingo Molnar
2007-03-08 23:28             ` Ingo Molnar
2007-03-08 23:49           ` Linus Torvalds
2007-03-09 10:56             ` Ingo Molnar
2007-03-09 18:00               ` Linus Torvalds
2007-03-09 11:19             ` Pavel Machek
2007-03-18 16:07               ` Ingo Molnar
2007-03-18 16:40                 ` [linux-pm] " Jim Gettys
2007-03-19 19:08                   ` BSOD (was: [2/6] 2.6.21-rc2: known regressions) Pete Zaitcev
2007-03-19 19:38                     ` BSOD David Miller
2007-03-19 19:54                       ` BSOD Jesse Barnes
2007-03-19 20:05                         ` BSOD David Miller
2007-03-19 20:20                           ` BSOD Jesse Barnes
2007-03-19 20:20                           ` BSOD Jim Gettys
2007-03-20  9:19                           ` BSOD Paul Mackerras
2007-03-20 20:33                             ` BSOD Jim Gettys
2007-03-19 20:33                   ` [linux-pm] [2/6] 2.6.21-rc2: known regressions Bill Davidsen
2007-03-19 22:08                     ` Jim Gettys
2007-03-20 14:44                       ` Bill Davidsen
2007-03-09 17:48             ` Johannes Stezenbach
2007-03-09 23:35               ` Pavel Machek
2007-03-10  9:01                 ` Ingo Molnar
2007-03-10 11:43                   ` Stefan Seyfried
2007-03-10 13:53                     ` Johannes Stezenbach
2007-03-10 15:18                     ` Ingo Molnar
2007-03-10 22:08                       ` Pavel Machek
2007-03-11  8:20                         ` Ingo Molnar
2007-03-12  6:34                           ` Stefan Seyfried
2007-03-10 22:04                   ` s2ram (was Re: [2/6] 2.6.21-rc2: known regressions) Pavel Machek
2007-03-08 19:46       ` [2/6] 2.6.21-rc2: known regressions Michael S. Tsirkin
2007-03-08 19:57       ` Michael S. Tsirkin
     [not found]         ` <20070311120802.GA8823@elte.hu>
2007-03-12 20:20           ` Michael S. Tsirkin
2007-03-17 21:41             ` Michael S. Tsirkin
2007-03-17 22:33               ` Thomas Gleixner
2007-03-21 17:28                 ` Michael S. Tsirkin
2007-03-05  1:50 ` [3/6] " Adrian Bunk
2007-03-05  3:58   ` Michal Jaegermann
2007-03-06 17:08   ` Alan Cox
2007-03-07 11:12   ` Jeff Garzik
2007-03-10  1:09     ` Mathieu Bérard
2007-03-10  4:11       ` and try remove another quirk on this computers " Sergio Monteiro Basto
2007-03-10  5:41         ` Linus Torvalds
2007-03-11  4:32           ` Sergio Monteiro Basto
2007-03-12 11:37       ` Tejun Heo
2007-03-13 12:31         ` Mathieu Bérard
2007-03-13 12:41           ` Tejun Heo
2007-03-13 20:56             ` Mathieu Bérard
2007-03-14  6:07               ` Tejun Heo
2007-03-14 10:49                 ` Mathieu Bérard
2007-03-05  1:50 ` [4/6] " Adrian Bunk
2007-03-05 10:35   ` Antonino A. Daplas
2007-03-05 15:06     ` Andrew
2007-03-08 23:28     ` Len Brown
2007-03-09 19:25       ` Andrew
2007-03-05 12:21   ` Richard Purdie
2007-03-05  1:50 ` [5/6] " Adrian Bunk
2007-03-05  7:57   ` Ingo Molnar
2007-03-05  8:13     ` Andrew Morton
2007-03-05 15:25       ` Daniel Walker
2007-03-05 15:27         ` Ingo Molnar
2007-03-05 16:42           ` Daniel Walker
2007-03-05 19:30             ` Ingo Molnar
2007-03-05 16:14     ` Bill Davidsen
2007-03-05 16:21       ` Ingo Molnar
2007-03-05 23:12     ` Adrian Bunk
2007-03-05 23:43   ` Thomas Gleixner
2007-03-05 23:45     ` Linus Torvalds
2007-03-06  0:25       ` Thomas Gleixner
2007-03-06  6:49         ` Soeren Sonnenburg
2007-03-06  7:49           ` Soeren Sonnenburg
2007-03-06  0:38       ` Linus Torvalds
2007-03-06  1:02         ` Thomas Gleixner
2007-03-06  1:31           ` Linus Torvalds
2007-03-06  2:18             ` Linus Torvalds
2007-03-06  7:25               ` Ingo Molnar
2007-03-06  8:09                 ` Thomas Gleixner
2007-03-06 10:33               ` Michael S. Tsirkin
2007-03-06 10:37                 ` Ingo Molnar
2007-03-06 10:46                   ` Michael S. Tsirkin
2007-03-06 11:32                     ` Ingo Molnar
2007-03-06 12:20                       ` Michael S. Tsirkin
2007-03-06 16:44                       ` Linus Torvalds
2007-03-06 17:05                         ` Ingo Molnar
2007-03-06 17:29                         ` [PATCH] highres: do not run the TIMER_SOFTIRQ after switching to highres mode Thomas Gleixner
2007-03-06 17:41                           ` Linus Torvalds
2007-03-16 15:18                         ` [5/6] 2.6.21-rc2: known regressions Randy Dunlap
2007-03-06 11:36                     ` Soeren Sonnenburg
2007-03-06 12:07                       ` Ingo Molnar
2007-03-06 12:15                         ` Michael S. Tsirkin
2007-03-06 12:51                         ` Ingo Molnar
2007-03-06 12:55                           ` Michael S. Tsirkin
2007-03-06 13:03                             ` Ingo Molnar
2007-03-06 13:09                           ` Thomas Gleixner
2007-03-06 12:09                       ` Jeff Chua
2007-03-11 17:32                     ` Pavel Machek
2007-03-06 10:33               ` Michael S. Tsirkin
2007-03-05  1:50 ` [6/6] " Adrian Bunk
2007-03-05  2:07   ` David Miller
2007-03-05  2:26     ` Adrian Bunk
2007-03-05  2:29       ` David Miller
2007-03-05  4:42       ` David Miller
2007-03-05  3:32   ` Greg KH
2007-03-03  2:52 [PATCH] dynticks: don't unlock spinlock twice Andres Salomon
2007-03-03  9:02 ` Thomas Gleixner
2007-03-04 11:14   ` Andres Salomon
2007-03-04 13:09     ` [PATCH] highres: Do not run the TIMER_SOFTIRQ after switching to highres mode Thomas Gleixner
2007-03-04 13:12       ` Andres Salomon
2007-03-04 13:23         ` Thomas Gleixner
2007-03-05  7:25         ` Ingo Molnar
2007-03-05  7:50           ` Andres Salomon
2007-03-05  7:52             ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).