linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review
@ 2013-02-06 22:06 Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 1/5] drivers-tty-pl011-irq-disable-madness.patch Steven Rostedt
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Steven Rostedt @ 2013-02-06 22:06 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users; +Cc: Thomas Gleixner, Carsten Emde, John Kacur


Dear RT Folks,

This is the RT stable review cycle of patch 3.0.62-rt88-rc1.

Please scream at me if I messed something up. Please test the patches too.

The -rc release will be uploaded to kernel.org and will be deleted when
the final release is out. This is just a review release (or release candidate).

The pre-releases will not be pushed to the git repository, only the
final release is.

If all goes well, this patch will be converted to the next main release
on 2/8/2013.

Enjoy,

-- Steve


To build 3.0.62-rt88-rc1 directly, the following patches should be applied:

  http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.xz

  http://www.kernel.org/pub/linux/kernel/v3.0/patch-3.0.62.xz

  http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/patch-3.0.62-rt88-rc1.patch.xz

You can also build from 3.0.62-rt87 by applying the incremental patch:

http://www.kernel.org/pub/linux/kernel/projects/rt/3.0/incr/patch-3.0.62-rt87-rt88-rc1.patch.xz


Changes from 3.0.62-rt87:

---


Steven Rostedt (1):
      Linux 3.0.62-rt88-rc1

Thomas Gleixner (4):
      drivers-tty-pl011-irq-disable-madness.patch
      mmci: Remove bogus local_irq_save()
      sched: Init idle->on_rq in init_idle()
      mm: swap: Initialize local locks early

----
 drivers/mmc/host/mmci.c         |    5 -----
 drivers/tty/serial/amba-pl011.c |   15 ++++++++++-----
 kernel/sched.c                  |    1 +
 localversion-rt                 |    2 +-
 mm/swap.c                       |   12 +++++++++---
 5 files changed, 21 insertions(+), 14 deletions(-)

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

* [PATCH RT 1/5] drivers-tty-pl011-irq-disable-madness.patch
  2013-02-06 22:06 [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review Steven Rostedt
@ 2013-02-06 22:06 ` Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 2/5] mmci: Remove bogus local_irq_save() Steven Rostedt
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2013-02-06 22:06 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, stable-rt

[-- Attachment #1: 0001-drivers-tty-pl011-irq-disable-madness.patch.patch --]
[-- Type: text/plain, Size: 1482 bytes --]

From: Thomas Gleixner <tglx@linutronix.de>

Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 drivers/tty/serial/amba-pl011.c |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
index 7cbb367..40356ae 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1754,13 +1754,19 @@ pl011_console_write(struct console *co, const char *s, unsigned int count)
 
 	clk_enable(uap->clk);
 
-	local_irq_save(flags);
+	/*
+	 * local_irq_save(flags);
+	 *
+	 * This local_irq_save() is nonsense. If we come in via sysrq
+	 * handling then interrupts are already disabled. Aside of
+	 * that the port.sysrq check is racy on SMP regardless.
+	*/
 	if (uap->port.sysrq)
 		locked = 0;
 	else if (oops_in_progress)
-		locked = spin_trylock(&uap->port.lock);
+		locked = spin_trylock_irqsave(&uap->port.lock, flags);
 	else
-		spin_lock(&uap->port.lock);
+		spin_lock_irqsave(&uap->port.lock, flags);
 
 	/*
 	 *	First save the CR then disable the interrupts
@@ -1782,8 +1788,7 @@ pl011_console_write(struct console *co, const char *s, unsigned int count)
 	writew(old_cr, uap->port.membase + UART011_CR);
 
 	if (locked)
-		spin_unlock(&uap->port.lock);
-	local_irq_restore(flags);
+		spin_unlock_irqrestore(&uap->port.lock, flags);
 
 	clk_disable(uap->clk);
 }
-- 
1.7.10.4



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

* [PATCH RT 2/5] mmci: Remove bogus local_irq_save()
  2013-02-06 22:06 [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 1/5] drivers-tty-pl011-irq-disable-madness.patch Steven Rostedt
@ 2013-02-06 22:06 ` Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 3/5] sched: Init idle->on_rq in init_idle() Steven Rostedt
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2013-02-06 22:06 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, stable-rt

[-- Attachment #1: 0002-mmci-Remove-bogus-local_irq_save.patch --]
[-- Type: text/plain, Size: 1243 bytes --]

From: Thomas Gleixner <tglx@linutronix.de>

On !RT interrupt runs with interrupts disabled. On RT it's in a
thread, so no need to disable interrupts at all.

Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 drivers/mmc/host/mmci.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 9394d0b..8d0bf36 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -741,15 +741,12 @@ static irqreturn_t mmci_pio_irq(int irq, void *dev_id)
 	struct sg_mapping_iter *sg_miter = &host->sg_miter;
 	struct variant_data *variant = host->variant;
 	void __iomem *base = host->base;
-	unsigned long flags;
 	u32 status;
 
 	status = readl(base + MMCISTATUS);
 
 	dev_dbg(mmc_dev(host->mmc), "irq1 (pio) %08x\n", status);
 
-	local_irq_save(flags);
-
 	do {
 		unsigned int remain, len;
 		char *buffer;
@@ -789,8 +786,6 @@ static irqreturn_t mmci_pio_irq(int irq, void *dev_id)
 
 	sg_miter_stop(sg_miter);
 
-	local_irq_restore(flags);
-
 	/*
 	 * If we have less than the fifo 'half-full' threshold to transfer,
 	 * trigger a PIO interrupt as soon as any data is available.
-- 
1.7.10.4



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

* [PATCH RT 3/5] sched: Init idle->on_rq in init_idle()
  2013-02-06 22:06 [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 1/5] drivers-tty-pl011-irq-disable-madness.patch Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 2/5] mmci: Remove bogus local_irq_save() Steven Rostedt
@ 2013-02-06 22:06 ` Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 4/5] mm: swap: Initialize local locks early Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 5/5] Linux 3.0.62-rt88-rc1 Steven Rostedt
  4 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2013-02-06 22:06 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, stable-rt

[-- Attachment #1: 0003-sched-Init-idle-on_rq-in-init_idle.patch --]
[-- Type: text/plain, Size: 579 bytes --]

From: Thomas Gleixner <tglx@linutronix.de>

Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 kernel/sched.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/sched.c b/kernel/sched.c
index 858f5df..53b78f0 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -6139,6 +6139,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu)
 	rcu_read_unlock();
 
 	rq->curr = rq->idle = idle;
+	idle->on_rq = 1;
 #if defined(CONFIG_SMP)
 	idle->on_cpu = 1;
 #endif
-- 
1.7.10.4



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

* [PATCH RT 4/5] mm: swap: Initialize local locks early
  2013-02-06 22:06 [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review Steven Rostedt
                   ` (2 preceding siblings ...)
  2013-02-06 22:06 ` [PATCH RT 3/5] sched: Init idle->on_rq in init_idle() Steven Rostedt
@ 2013-02-06 22:06 ` Steven Rostedt
  2013-02-06 22:06 ` [PATCH RT 5/5] Linux 3.0.62-rt88-rc1 Steven Rostedt
  4 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2013-02-06 22:06 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: Thomas Gleixner, Carsten Emde, John Kacur, stable-rt

[-- Attachment #1: 0004-mm-swap-Initialize-local-locks-early.patch --]
[-- Type: text/plain, Size: 1103 bytes --]

From: Thomas Gleixner <tglx@linutronix.de>

Cc: stable-rt@vger.kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
---
 mm/swap.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/mm/swap.c b/mm/swap.c
index 069390f..662972f 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -772,6 +772,15 @@ unsigned pagevec_lookup(struct pagevec *pvec, struct address_space *mapping,
 
 EXPORT_SYMBOL(pagevec_lookup);
 
+/* Early setup for the local locks */
+static int __init swap_init_locks(void)
+{
+	local_irq_lock_init(rotate_lock);
+	local_irq_lock_init(swap_lock);
+	return 1;
+}
+early_initcall(swap_init_locks);
+
 unsigned pagevec_lookup_tag(struct pagevec *pvec, struct address_space *mapping,
 		pgoff_t *index, int tag, unsigned nr_pages)
 {
@@ -789,9 +798,6 @@ void __init swap_setup(void)
 {
 	unsigned long megs = totalram_pages >> (20 - PAGE_SHIFT);
 
-	local_irq_lock_init(rotate_lock);
-	local_irq_lock_init(swap_lock);
-
 #ifdef CONFIG_SWAP
 	bdi_init(swapper_space.backing_dev_info);
 #endif
-- 
1.7.10.4



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

* [PATCH RT 5/5] Linux 3.0.62-rt88-rc1
  2013-02-06 22:06 [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review Steven Rostedt
                   ` (3 preceding siblings ...)
  2013-02-06 22:06 ` [PATCH RT 4/5] mm: swap: Initialize local locks early Steven Rostedt
@ 2013-02-06 22:06 ` Steven Rostedt
  4 siblings, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2013-02-06 22:06 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users; +Cc: Thomas Gleixner, Carsten Emde, John Kacur

[-- Attachment #1: 0005-Linux-3.0.62-rt88-rc1.patch --]
[-- Type: text/plain, Size: 289 bytes --]

From: Steven Rostedt <srostedt@redhat.com>

---
 localversion-rt |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/localversion-rt b/localversion-rt
index bd5aee3..ac94086 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt87
+-rt88-rc1
-- 
1.7.10.4



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

end of thread, other threads:[~2013-02-06 22:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-06 22:06 [PATCH RT 0/5] [ANNOUNCE] 3.0.62-rt88-rc1 stable review Steven Rostedt
2013-02-06 22:06 ` [PATCH RT 1/5] drivers-tty-pl011-irq-disable-madness.patch Steven Rostedt
2013-02-06 22:06 ` [PATCH RT 2/5] mmci: Remove bogus local_irq_save() Steven Rostedt
2013-02-06 22:06 ` [PATCH RT 3/5] sched: Init idle->on_rq in init_idle() Steven Rostedt
2013-02-06 22:06 ` [PATCH RT 4/5] mm: swap: Initialize local locks early Steven Rostedt
2013-02-06 22:06 ` [PATCH RT 5/5] Linux 3.0.62-rt88-rc1 Steven Rostedt

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).