[rt] Update to 3.12.5-rt7

svn path=/dists/sid/linux/; revision=20906
This commit is contained in:
Ben Hutchings 2013-12-21 01:39:20 +00:00
parent 0a09a09a42
commit d7b5ce3749
295 changed files with 1235 additions and 542 deletions

8
debian/changelog vendored
View File

@ -98,6 +98,14 @@ linux (3.12.6-1) UNRELEASED; urgency=medium
* Set ABI to 1 * Set ABI to 1
* [ia64] Enable PSTORE, EFI_VARS_PSTORE * [ia64] Enable PSTORE, EFI_VARS_PSTORE
* [x86,ia64] udeb: Remove zlib-modules as zlib is now built-in * [x86,ia64] udeb: Remove zlib-modules as zlib is now built-in
* [rt] Update to 3.12.5-rt7:
- ptrace: fix ptrace vs tasklist_lock race
- migrate_disable pushd down in atomic_dec_and_spin_lock
- migrate_disable pushd down in rt_spin_trylock_irqsave
- migrate_disable pushd down in rt_write_trylock_irqsave
- Revert "sched/rt: Fix wait_task_interactive() to test rt_spin_lock state"
- seqlock: consolidate spin_lock/unlock waiting with spin_unlock_wait
- softirq: make migrate disable/enable conditioned on softirq_nestcnt
[ Ian Campbell ] [ Ian Campbell ]
* [armel/kirkwood+orion] Reenable MARVELL_PHY (Closes: #723177) * [armel/kirkwood+orion] Reenable MARVELL_PHY (Closes: #723177)

View File

@ -0,0 +1,29 @@
From d6a6675d436897cd1b09e299436df3499abd753e Mon Sep 17 00:00:00 2001
From: Allen Pais <allen.pais@oracle.com>
Date: Fri, 13 Dec 2013 09:44:41 +0530
Subject: [PATCH 1/3] sparc64: use generic rwsem spinlocks rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Allen Pais <allen.pais@oracle.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
arch/sparc/Kconfig | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -177,12 +177,10 @@ config NR_CPUS
source kernel/Kconfig.hz
config RWSEM_GENERIC_SPINLOCK
- bool
- default y if SPARC32
+ def_bool PREEMPT_RT_FULL
config RWSEM_XCHGADD_ALGORITHM
- bool
- default y if SPARC64
+ def_bool !RWSEM_GENERIC_SPINLOCK && !PREEMPT_RT_FULL
config GENERIC_HWEIGHT
bool

View File

@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Mar 2013 14:44:30 +0100 Date: Tue, 19 Mar 2013 14:44:30 +0100
Subject: [PATCH] kernel/SRCU: provide a static initializer Subject: [PATCH] kernel/SRCU: provide a static initializer
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
There are macros for static initializer for the three out of four There are macros for static initializer for the three out of four
possible notifier types, that are: possible notifier types, that are:

View File

@ -0,0 +1,189 @@
From d4b3d2991e6a0e45cc82a72c12ac7acbb27929ce Mon Sep 17 00:00:00 2001
From: Allen Pais <allen.pais@oracle.com>
Date: Fri, 13 Dec 2013 09:44:42 +0530
Subject: [PATCH 2/3] sparc64: convert spinlock_t to raw_spinlock_t in
mmu_context_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Issue debugged by Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
arch/sparc/Kconfig | 1 +
arch/sparc/include/asm/mmu_64.h | 2 +-
arch/sparc/include/asm/mmu_context_64.h | 8 ++++----
arch/sparc/kernel/smp_64.c | 4 ++--
arch/sparc/mm/init_64.c | 4 ++--
arch/sparc/mm/tsb.c | 16 ++++++++--------
6 files changed, 18 insertions(+), 17 deletions(-)
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -26,6 +26,7 @@ config SPARC
select HAVE_DMA_ATTRS
select HAVE_DMA_API_DEBUG
select HAVE_ARCH_JUMP_LABEL
+ select IRQ_FORCED_THREADING
select GENERIC_IRQ_SHOW
select ARCH_WANT_IPC_PARSE_VERSION
select USE_GENERIC_SMP_HELPERS if SMP
--- a/arch/sparc/include/asm/mmu_64.h
+++ b/arch/sparc/include/asm/mmu_64.h
@@ -90,7 +90,7 @@ struct tsb_config {
#endif
typedef struct {
- spinlock_t lock;
+ raw_spinlock_t lock;
unsigned long sparc64_ctx_val;
unsigned long huge_pte_count;
struct page *pgtable_page;
--- a/arch/sparc/include/asm/mmu_context_64.h
+++ b/arch/sparc/include/asm/mmu_context_64.h
@@ -77,7 +77,7 @@ static inline void switch_mm(struct mm_s
if (unlikely(mm == &init_mm))
return;
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
ctx_valid = CTX_VALID(mm->context);
if (!ctx_valid)
get_new_mmu_context(mm);
@@ -125,7 +125,7 @@ static inline void switch_mm(struct mm_s
__flush_tlb_mm(CTX_HWBITS(mm->context),
SECONDARY_CONTEXT);
}
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
}
#define deactivate_mm(tsk,mm) do { } while (0)
@@ -136,7 +136,7 @@ static inline void activate_mm(struct mm
unsigned long flags;
int cpu;
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
if (!CTX_VALID(mm->context))
get_new_mmu_context(mm);
cpu = smp_processor_id();
@@ -146,7 +146,7 @@ static inline void activate_mm(struct mm
load_secondary_context(mm);
__flush_tlb_mm(CTX_HWBITS(mm->context), SECONDARY_CONTEXT);
tsb_context_switch(mm);
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
}
#endif /* !(__ASSEMBLY__) */
--- a/arch/sparc/kernel/smp_64.c
+++ b/arch/sparc/kernel/smp_64.c
@@ -976,12 +976,12 @@ void __irq_entry smp_new_mmu_context_ver
if (unlikely(!mm || (mm == &init_mm)))
return;
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
if (unlikely(!CTX_VALID(mm->context)))
get_new_mmu_context(mm);
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
load_secondary_context(mm);
__flush_tlb_mm(CTX_HWBITS(mm->context),
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -350,7 +350,7 @@ void update_mmu_cache(struct vm_area_str
mm = vma->vm_mm;
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
#if defined(CONFIG_HUGETLB_PAGE) || defined(CONFIG_TRANSPARENT_HUGEPAGE)
if (mm->context.huge_pte_count && is_hugetlb_pte(pte))
@@ -361,7 +361,7 @@ void update_mmu_cache(struct vm_area_str
__update_mmu_tsb_insert(mm, MM_TSB_BASE, PAGE_SHIFT,
address, pte_val(pte));
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
}
void flush_dcache_page(struct page *page)
--- a/arch/sparc/mm/tsb.c
+++ b/arch/sparc/mm/tsb.c
@@ -73,7 +73,7 @@ void flush_tsb_user(struct tlb_batch *tb
struct mm_struct *mm = tb->mm;
unsigned long nentries, base, flags;
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb;
nentries = mm->context.tsb_block[MM_TSB_BASE].tsb_nentries;
@@ -90,14 +90,14 @@ void flush_tsb_user(struct tlb_batch *tb
__flush_tsb_one(tb, HPAGE_SHIFT, base, nentries);
}
#endif
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
}
void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr)
{
unsigned long nentries, base, flags;
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb;
nentries = mm->context.tsb_block[MM_TSB_BASE].tsb_nentries;
@@ -114,7 +114,7 @@ void flush_tsb_user_page(struct mm_struc
__flush_tsb_one_entry(base, vaddr, HPAGE_SHIFT, nentries);
}
#endif
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
}
#define HV_PGSZ_IDX_BASE HV_PGSZ_IDX_8K
@@ -392,7 +392,7 @@ void tsb_grow(struct mm_struct *mm, unsi
* the lock and ask all other cpus running this address space
* to run tsb_context_switch() to see the new TSB table.
*/
- spin_lock_irqsave(&mm->context.lock, flags);
+ raw_spin_lock_irqsave(&mm->context.lock, flags);
old_tsb = mm->context.tsb_block[tsb_index].tsb;
old_cache_index =
@@ -407,7 +407,7 @@ void tsb_grow(struct mm_struct *mm, unsi
*/
if (unlikely(old_tsb &&
(rss < mm->context.tsb_block[tsb_index].tsb_rss_limit))) {
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
kmem_cache_free(tsb_caches[new_cache_index], new_tsb);
return;
@@ -433,7 +433,7 @@ void tsb_grow(struct mm_struct *mm, unsi
mm->context.tsb_block[tsb_index].tsb = new_tsb;
setup_tsb_params(mm, tsb_index, new_size);
- spin_unlock_irqrestore(&mm->context.lock, flags);
+ raw_spin_unlock_irqrestore(&mm->context.lock, flags);
/* If old_tsb is NULL, we're being invoked for the first time
* from init_new_context().
@@ -459,7 +459,7 @@ int init_new_context(struct task_struct
#endif
unsigned int i;
- spin_lock_init(&mm->context.lock);
+ raw_spin_lock_init(&mm->context.lock);
mm->context.sparc64_ctx_val = 0UL;

View File

@ -2,7 +2,7 @@ From 65513f34449eedb6b84c24a3583266534c1627e4 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Mar 2013 17:09:55 +0100 Date: Mon, 11 Mar 2013 17:09:55 +0100
Subject: [PATCH 2/6] x86/highmem: add a "already used pte" check Subject: [PATCH 2/6] x86/highmem: add a "already used pte" check
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
This is a copy from kmap_atomic_prot(). This is a copy from kmap_atomic_prot().

View File

@ -2,7 +2,7 @@ From e2ca4d092d9c6e6b07b465b4d81da207bbcc7437 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Mar 2013 21:37:27 +0100 Date: Mon, 11 Mar 2013 21:37:27 +0100
Subject: [PATCH 3/6] arm/highmem: flush tlb on unmap Subject: [PATCH 3/6] arm/highmem: flush tlb on unmap
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The tlb should be flushed on unmap and thus make the mapping entry The tlb should be flushed on unmap and thus make the mapping entry
invalid. This is only done in the non-debug case which does not look invalid. This is only done in the non-debug case which does not look

View File

@ -0,0 +1,89 @@
From 9c6692963c4b96a40852c7ac28e8bd7d2a421821 Mon Sep 17 00:00:00 2001
From: Allen Pais <allen.pais@oracle.com>
Date: Fri, 13 Dec 2013 09:44:43 +0530
Subject: [PATCH 3/3] sparc64: convert ctx_alloc_lock raw_spinlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Allen Pais <allen.pais@oracle.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
arch/sparc/include/asm/mmu_context_64.h | 2 +-
arch/sparc/mm/init_64.c | 10 +++++-----
arch/sparc/mm/tsb.c | 4 ++--
3 files changed, 8 insertions(+), 8 deletions(-)
--- a/arch/sparc/include/asm/mmu_context_64.h
+++ b/arch/sparc/include/asm/mmu_context_64.h
@@ -13,7 +13,7 @@ static inline void enter_lazy_tlb(struct
{
}
-extern spinlock_t ctx_alloc_lock;
+extern raw_spinlock_t ctx_alloc_lock;
extern unsigned long tlb_context_cache;
extern unsigned long mmu_context_bmap[];
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -661,7 +661,7 @@ void __flush_dcache_range(unsigned long
EXPORT_SYMBOL(__flush_dcache_range);
/* get_new_mmu_context() uses "cache + 1". */
-DEFINE_SPINLOCK(ctx_alloc_lock);
+DEFINE_RAW_SPINLOCK(ctx_alloc_lock);
unsigned long tlb_context_cache = CTX_FIRST_VERSION - 1;
#define MAX_CTX_NR (1UL << CTX_NR_BITS)
#define CTX_BMAP_SLOTS BITS_TO_LONGS(MAX_CTX_NR)
@@ -683,7 +683,7 @@ void get_new_mmu_context(struct mm_struc
unsigned long orig_pgsz_bits;
int new_version;
- spin_lock(&ctx_alloc_lock);
+ raw_spin_lock(&ctx_alloc_lock);
orig_pgsz_bits = (mm->context.sparc64_ctx_val & CTX_PGSZ_MASK);
ctx = (tlb_context_cache + 1) & CTX_NR_MASK;
new_ctx = find_next_zero_bit(mmu_context_bmap, 1 << CTX_NR_BITS, ctx);
@@ -719,7 +719,7 @@ void get_new_mmu_context(struct mm_struc
out:
tlb_context_cache = new_ctx;
mm->context.sparc64_ctx_val = new_ctx | orig_pgsz_bits;
- spin_unlock(&ctx_alloc_lock);
+ raw_spin_unlock(&ctx_alloc_lock);
if (unlikely(new_version))
smp_new_mmu_context_version();
@@ -2721,7 +2721,7 @@ void hugetlb_setup(struct pt_regs *regs)
if (tlb_type == cheetah_plus) {
unsigned long ctx;
- spin_lock(&ctx_alloc_lock);
+ raw_spin_lock(&ctx_alloc_lock);
ctx = mm->context.sparc64_ctx_val;
ctx &= ~CTX_PGSZ_MASK;
ctx |= CTX_PGSZ_BASE << CTX_PGSZ0_SHIFT;
@@ -2742,7 +2742,7 @@ void hugetlb_setup(struct pt_regs *regs)
mm->context.sparc64_ctx_val = ctx;
on_each_cpu(context_reload, mm, 0);
}
- spin_unlock(&ctx_alloc_lock);
+ raw_spin_unlock(&ctx_alloc_lock);
}
}
#endif
--- a/arch/sparc/mm/tsb.c
+++ b/arch/sparc/mm/tsb.c
@@ -523,12 +523,12 @@ void destroy_context(struct mm_struct *m
free_hot_cold_page(page, 0);
}
- spin_lock_irqsave(&ctx_alloc_lock, flags);
+ raw_spin_lock_irqsave(&ctx_alloc_lock, flags);
if (CTX_VALID(mm->context)) {
unsigned long nr = CTX_NRBITS(mm->context);
mmu_context_bmap[nr>>6] &= ~(1UL << (nr & 63));
}
- spin_unlock_irqrestore(&ctx_alloc_lock, flags);
+ raw_spin_unlock_irqrestore(&ctx_alloc_lock, flags);
}

View File

@ -3,7 +3,7 @@ From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 1 Mar 2013 11:17:42 +0100 Date: Fri, 1 Mar 2013 11:17:42 +0100
Subject: [PATCH 5/6] futex: Ensure lock/unlock symetry versus pi_lock and Subject: [PATCH 5/6] futex: Ensure lock/unlock symetry versus pi_lock and
hash bucket lock hash bucket lock
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
In exit_pi_state_list() we have the following locking construct: In exit_pi_state_list() we have the following locking construct:

View File

@ -2,7 +2,7 @@ From b72b514282ffad0d665ea94932b968f388304079 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Mar 2013 19:01:05 +0100 Date: Thu, 21 Mar 2013 19:01:05 +0100
Subject: [PATCH] HACK: printk: drop the logbuf_lock more often Subject: [PATCH] HACK: printk: drop the logbuf_lock more often
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The lock is hold with irgs off. The latency drops 500us+ on my arm bugs The lock is hold with irgs off. The latency drops 500us+ on my arm bugs
with a "full" buffer after executing "dmesg" on the shell. with a "full" buffer after executing "dmesg" on the shell.

View File

@ -3,7 +3,7 @@ From: Wolfram Sang <wsa@the-dreams.de>
Date: Fri, 4 Oct 2013 17:37:09 +0200 Date: Fri, 4 Oct 2013 17:37:09 +0200
Subject: [PATCH] Kind of revert "powerpc: 52xx: provide a default in Subject: [PATCH] Kind of revert "powerpc: 52xx: provide a default in
mpc52xx_irqhost_map()" mpc52xx_irqhost_map()"
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
This more or less reverts commit 6391f697d4892a6f233501beea553e13f7745a23. This more or less reverts commit 6391f697d4892a6f233501beea553e13f7745a23.
Instead of adding an unneeded 'default', mark the variable to prevent Instead of adding an unneeded 'default', mark the variable to prevent

View File

@ -1,7 +1,7 @@
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Date: Wed, 13 Feb 2013 09:26:05 -0500 Date: Wed, 13 Feb 2013 09:26:05 -0500
Subject: [PATCH] acpi/rt: Convert acpi_gbl_hardware lock back to a raw_spinlock_t Subject: [PATCH] acpi/rt: Convert acpi_gbl_hardware lock back to a raw_spinlock_t
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
We hit the following bug with 3.6-rt: We hit the following bug with 3.6-rt:

View File

@ -2,7 +2,7 @@ From 155cf657f6ddcade424253eb58d03a170dc9f64f Mon Sep 17 00:00:00 2001
From: Nicholas Mc Guire <der.herr@hofr.at> From: Nicholas Mc Guire <der.herr@hofr.at>
Date: Wed, 20 Nov 2013 07:22:09 +0800 Date: Wed, 20 Nov 2013 07:22:09 +0800
Subject: [PATCH 1/2] allow preemption in recursive migrate_disable call Subject: [PATCH 1/2] allow preemption in recursive migrate_disable call
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Minor cleanup in migrate_disable/migrate_enable. The recursive case Minor cleanup in migrate_disable/migrate_enable. The recursive case
does not need to disable preemption as it is "pinned" to the current does not need to disable preemption as it is "pinned" to the current
@ -16,7 +16,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -2406,13 +2406,12 @@ void migrate_disable(void) @@ -2419,13 +2419,12 @@ void migrate_disable(void)
WARN_ON_ONCE(p->migrate_disable_atomic); WARN_ON_ONCE(p->migrate_disable_atomic);
#endif #endif
@ -31,7 +31,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
pin_current_cpu(); pin_current_cpu();
p->migrate_disable = 1; p->migrate_disable = 1;
preempt_enable(); preempt_enable();
@@ -2438,13 +2437,12 @@ void migrate_enable(void) @@ -2451,13 +2450,12 @@ void migrate_enable(void)
#endif #endif
WARN_ON_ONCE(p->migrate_disable <= 0); WARN_ON_ONCE(p->migrate_disable <= 0);

View File

@ -1,7 +1,7 @@
Subject: mm: Fixup all fault handlers to check current->pagefault_disable Subject: mm: Fixup all fault handlers to check current->pagefault_disable
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 17 Mar 2011 11:32:28 +0100 Date: Thu, 17 Mar 2011 11:32:28 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Necessary for decoupling pagefault disable from preempt count. Necessary for decoupling pagefault disable from preempt count.

View File

@ -1,7 +1,7 @@
From: Benedikt Spranger <b.spranger@linutronix.de> From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Sat, 6 Mar 2010 17:47:10 +0100 Date: Sat, 6 Mar 2010 17:47:10 +0100
Subject: ARM: AT91: PIT: Remove irq handler when clock event is unused Subject: ARM: AT91: PIT: Remove irq handler when clock event is unused
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Setup and remove the interrupt handler in clock event mode selection. Setup and remove the interrupt handler in clock event mode selection.
This avoids calling the (shared) interrupt handler when the device is This avoids calling the (shared) interrupt handler when the device is

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 1 May 2010 18:29:35 +0200 Date: Sat, 1 May 2010 18:29:35 +0200
Subject: ARM: at91: tclib: Default to tclib timer for RT Subject: ARM: at91: tclib: Default to tclib timer for RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
RT is not too happy about the shared timer interrupt in AT91 RT is not too happy about the shared timer interrupt in AT91
devices. Default to tclib timer for RT. devices. Default to tclib timer for RT.

View File

@ -1,7 +1,7 @@
From: Frank Rowand <frank.rowand@am.sony.com> From: Frank Rowand <frank.rowand@am.sony.com>
Date: Mon, 19 Sep 2011 14:51:14 -0700 Date: Mon, 19 Sep 2011 14:51:14 -0700
Subject: [PATCH] preempt-rt: Convert arm boot_lock to raw Subject: [PATCH] preempt-rt: Convert arm boot_lock to raw
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The arm boot_lock is used by the secondary processor startup code. The locking The arm boot_lock is used by the secondary processor startup code. The locking
task is the idle thread, which has idle->sched_class == &idle_sched_class. task is the idle thread, which has idle->sched_class == &idle_sched_class.

View File

@ -1,7 +1,7 @@
Subject: arm-disable-highmem-on-rt.patch Subject: arm-disable-highmem-on-rt.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:09:28 +0200 Date: Mon, 18 Jul 2011 17:09:28 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: arm-enable-highmem-for-rt.patch Subject: arm-enable-highmem-for-rt.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 13 Feb 2013 11:03:11 +0100 Date: Wed, 13 Feb 2013 11:03:11 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: arm-preempt-lazy-support.patch Subject: arm-preempt-lazy-support.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 31 Oct 2012 12:04:11 +0100 Date: Wed, 31 Oct 2012 12:04:11 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---
@ -60,7 +60,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
DEFINE(TI_EXEC_DOMAIN, offsetof(struct thread_info, exec_domain)); DEFINE(TI_EXEC_DOMAIN, offsetof(struct thread_info, exec_domain));
--- a/arch/arm/kernel/entry-armv.S --- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S
@@ -204,11 +204,18 @@ ENDPROC(__dabt_svc) @@ -205,11 +205,18 @@ ENDPROC(__dabt_svc)
#ifdef CONFIG_PREEMPT #ifdef CONFIG_PREEMPT
get_thread_info tsk get_thread_info tsk
ldr r8, [tsk, #TI_PREEMPT] @ get preempt count ldr r8, [tsk, #TI_PREEMPT] @ get preempt count
@ -81,7 +81,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#endif #endif
svc_exit r5, irq = 1 @ return from exception svc_exit r5, irq = 1 @ return from exception
@@ -223,6 +230,8 @@ ENDPROC(__irq_svc) @@ -224,6 +231,8 @@ ENDPROC(__irq_svc)
1: bl preempt_schedule_irq @ irq en/disable is done inside 1: bl preempt_schedule_irq @ irq en/disable is done inside
ldr r0, [tsk, #TI_FLAGS] @ get new tasks TI_FLAGS ldr r0, [tsk, #TI_FLAGS] @ get new tasks TI_FLAGS
tst r0, #_TIF_NEED_RESCHED tst r0, #_TIF_NEED_RESCHED

View File

@ -1,7 +1,7 @@
From: Steven Rostedt <srostedt@redhat.com> From: Steven Rostedt <srostedt@redhat.com>
Date: Fri, 3 Jul 2009 08:44:29 -0500 Date: Fri, 3 Jul 2009 08:44:29 -0500
Subject: ata: Do not disable interrupts in ide code for preempt-rt Subject: ata: Do not disable interrupts in ide code for preempt-rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Use the local_irq_*_nort variants. Use the local_irq_*_nort variants.

View File

@ -1,7 +1,7 @@
Subject: block: Shorten interrupt disabled regions Subject: block: Shorten interrupt disabled regions
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 22 Jun 2011 19:47:02 +0200 Date: Wed, 22 Jun 2011 19:47:02 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Moving the blk_sched_flush_plug() call out of the interrupt/preempt Moving the blk_sched_flush_plug() call out of the interrupt/preempt
disabled region in the scheduler allows us to replace disabled region in the scheduler allows us to replace
@ -49,7 +49,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/block/blk-core.c --- a/block/blk-core.c
+++ b/block/blk-core.c +++ b/block/blk-core.c
@@ -2914,7 +2914,7 @@ static void queue_unplugged(struct reque @@ -2925,7 +2925,7 @@ static void queue_unplugged(struct reque
blk_run_queue_async(q); blk_run_queue_async(q);
else else
__blk_run_queue(q); __blk_run_queue(q);
@ -58,7 +58,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
static void flush_plug_callbacks(struct blk_plug *plug, bool from_schedule) static void flush_plug_callbacks(struct blk_plug *plug, bool from_schedule)
@@ -2962,7 +2962,6 @@ EXPORT_SYMBOL(blk_check_plugged); @@ -2973,7 +2973,6 @@ EXPORT_SYMBOL(blk_check_plugged);
void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule) void blk_flush_plug_list(struct blk_plug *plug, bool from_schedule)
{ {
struct request_queue *q; struct request_queue *q;
@ -66,7 +66,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
struct request *rq; struct request *rq;
LIST_HEAD(list); LIST_HEAD(list);
unsigned int depth; unsigned int depth;
@@ -2980,11 +2979,6 @@ void blk_flush_plug_list(struct blk_plug @@ -2991,11 +2990,6 @@ void blk_flush_plug_list(struct blk_plug
q = NULL; q = NULL;
depth = 0; depth = 0;
@ -78,7 +78,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
while (!list_empty(&list)) { while (!list_empty(&list)) {
rq = list_entry_rq(list.next); rq = list_entry_rq(list.next);
list_del_init(&rq->queuelist); list_del_init(&rq->queuelist);
@@ -2997,7 +2991,7 @@ void blk_flush_plug_list(struct blk_plug @@ -3008,7 +3002,7 @@ void blk_flush_plug_list(struct blk_plug
queue_unplugged(q, depth, from_schedule); queue_unplugged(q, depth, from_schedule);
q = rq->q; q = rq->q;
depth = 0; depth = 0;
@ -87,7 +87,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
/* /*
@@ -3024,8 +3018,6 @@ void blk_flush_plug_list(struct blk_plug @@ -3035,8 +3029,6 @@ void blk_flush_plug_list(struct blk_plug
*/ */
if (q) if (q)
queue_unplugged(q, depth, from_schedule); queue_unplugged(q, depth, from_schedule);

View File

@ -1,7 +1,7 @@
Subject: block: Use cpu_chill() for retry loops Subject: block: Use cpu_chill() for retry loops
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 20 Dec 2012 18:28:26 +0100 Date: Thu, 20 Dec 2012 18:28:26 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Retry loops on RT might loop forever when the modifying side was Retry loops on RT might loop forever when the modifying side was
preempted. Steven also observed a live lock when there was a preempted. Steven also observed a live lock when there was a

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:58 -0500 Date: Fri, 3 Jul 2009 08:29:58 -0500
Subject: bug: BUG_ON/WARN_ON variants dependend on RT/!RT Subject: bug: BUG_ON/WARN_ON variants dependend on RT/!RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

View File

@ -1,18 +1,19 @@
From: Benedikt Spranger <b.spranger@linutronix.de> From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Mon, 8 Mar 2010 18:57:04 +0100 Date: Mon, 8 Mar 2010 18:57:04 +0100
Subject: clocksource: TCLIB: Allow higher clock rates for clock events Subject: clocksource: TCLIB: Allow higher clock rates for clock events
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
As default the TCLIB uses the 32KiHz base clock rate for clock events. As default the TCLIB uses the 32KiHz base clock rate for clock events.
Add a compile time selection to allow higher clock resulution. Add a compile time selection to allow higher clock resulution.
(fixed up by Sami Pietikäinen <Sami.Pietikainen@wapice.com>)
Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---
drivers/clocksource/tcb_clksrc.c | 35 +++++++++++++++++++++-------------- drivers/clocksource/tcb_clksrc.c | 38 ++++++++++++++++++++++----------------
drivers/misc/Kconfig | 12 ++++++++++-- drivers/misc/Kconfig | 12 ++++++++++--
2 files changed, 31 insertions(+), 16 deletions(-) 2 files changed, 32 insertions(+), 18 deletions(-)
--- a/drivers/clocksource/tcb_clksrc.c --- a/drivers/clocksource/tcb_clksrc.c
+++ b/drivers/clocksource/tcb_clksrc.c +++ b/drivers/clocksource/tcb_clksrc.c
@ -85,32 +86,36 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
.set_next_event = tc_next_event, .set_next_event = tc_next_event,
.set_mode = tc_mode, .set_mode = tc_mode,
}, },
@@ -186,6 +184,8 @@ static struct irqaction tc_irqaction = { @@ -184,8 +182,9 @@ static struct irqaction tc_irqaction = {
.handler = ch2_irq,
};
static void __init setup_clkevents(struct atmel_tc *tc, int clk32k_divisor_idx) -static void __init setup_clkevents(struct atmel_tc *tc, int clk32k_divisor_idx)
+static void __init setup_clkevents(struct atmel_tc *tc, int divisor_idx)
{ {
+ unsigned divisor = atmel_tc_divisors[clk32k_divisor_idx]; + unsigned divisor = atmel_tc_divisors[divisor_idx];
+ u32 freq;
struct clk *t2_clk = tc->clk[2]; struct clk *t2_clk = tc->clk[2];
int irq = tc->irq[2]; int irq = tc->irq[2];
@@ -194,10 +194,14 @@ static void __init setup_clkevents(struc @@ -193,11 +192,15 @@ static void __init setup_clkevents(struc
clkevt.clk = t2_clk;
tc_irqaction.dev_id = &clkevt; tc_irqaction.dev_id = &clkevt;
timer_clock = clk32k_divisor_idx; - timer_clock = clk32k_divisor_idx;
+ timer_clock = divisor_idx;
+ if (!divisor) + if (!divisor)
+ freq = 32768; + clkevt.freq = 32768;
+ else + else
+ freq = clk_get_rate(t2_clk) / divisor; + clkevt.freq = clk_get_rate(t2_clk) / divisor;
clkevt.clkevt.cpumask = cpumask_of(0); clkevt.clkevt.cpumask = cpumask_of(0);
- clockevents_config_and_register(&clkevt.clkevt, 32768, 1, 0xffff); - clockevents_config_and_register(&clkevt.clkevt, 32768, 1, 0xffff);
+ clockevents_config_and_register(&clkevt.clkevt, freq, 1, 0xffff); + clockevents_config_and_register(&clkevt.clkevt, clkevt.freq, 1, 0xffff);
setup_irq(irq, &tc_irqaction); setup_irq(irq, &tc_irqaction);
} }
@@ -322,8 +326,11 @@ static int __init tcb_clksrc_init(void) @@ -322,8 +325,11 @@ static int __init tcb_clksrc_init(void)
clocksource_register_hz(&clksrc, divided_rate); clocksource_register_hz(&clksrc, divided_rate);
/* channel 2: periodic and oneshot timer support */ /* channel 2: periodic and oneshot timer support */

View File

@ -1,7 +1,7 @@
Subject: completion: Use simple wait queues Subject: completion: Use simple wait queues
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 11 Jan 2013 11:23:51 +0100 Date: Fri, 11 Jan 2013 11:23:51 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Completions have no long lasting callbacks and therefor do not need Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the the complex waitqueue variant. Use simple waitqueues which reduces the
@ -60,7 +60,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
struct mm_struct; struct mm_struct;
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -2412,7 +2412,10 @@ void migrate_disable(void) @@ -2423,7 +2423,10 @@ void migrate_disable(void)
} }
#ifdef CONFIG_SCHED_DEBUG #ifdef CONFIG_SCHED_DEBUG
@ -72,7 +72,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#endif #endif
if (p->migrate_disable) { if (p->migrate_disable) {
@@ -2443,7 +2446,10 @@ void migrate_enable(void) @@ -2454,7 +2457,10 @@ void migrate_enable(void)
} }
#ifdef CONFIG_SCHED_DEBUG #ifdef CONFIG_SCHED_DEBUG
@ -84,7 +84,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#endif #endif
WARN_ON_ONCE(p->migrate_disable <= 0); WARN_ON_ONCE(p->migrate_disable <= 0);
@@ -2901,10 +2907,10 @@ void complete(struct completion *x) @@ -2912,10 +2918,10 @@ void complete(struct completion *x)
{ {
unsigned long flags; unsigned long flags;
@ -98,7 +98,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
EXPORT_SYMBOL(complete); EXPORT_SYMBOL(complete);
@@ -2921,10 +2927,10 @@ void complete_all(struct completion *x) @@ -2932,10 +2938,10 @@ void complete_all(struct completion *x)
{ {
unsigned long flags; unsigned long flags;
@ -112,7 +112,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
} }
EXPORT_SYMBOL(complete_all); EXPORT_SYMBOL(complete_all);
@@ -2933,20 +2939,20 @@ do_wait_for_common(struct completion *x, @@ -2944,20 +2950,20 @@ do_wait_for_common(struct completion *x,
long (*action)(long), long timeout, int state) long (*action)(long), long timeout, int state)
{ {
if (!x->done) { if (!x->done) {
@ -138,7 +138,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
if (!x->done) if (!x->done)
return timeout; return timeout;
} }
@@ -2960,9 +2966,9 @@ static inline long __sched @@ -2971,9 +2977,9 @@ static inline long __sched
{ {
might_sleep(); might_sleep();
@ -150,7 +150,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return timeout; return timeout;
} }
@@ -3138,12 +3144,12 @@ bool try_wait_for_completion(struct comp @@ -3149,12 +3155,12 @@ bool try_wait_for_completion(struct comp
unsigned long flags; unsigned long flags;
int ret = 1; int ret = 1;
@ -165,7 +165,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
return ret; return ret;
} }
EXPORT_SYMBOL(try_wait_for_completion); EXPORT_SYMBOL(try_wait_for_completion);
@@ -3161,10 +3167,10 @@ bool completion_done(struct completion * @@ -3172,10 +3178,10 @@ bool completion_done(struct completion *
unsigned long flags; unsigned long flags;
int ret = 1; int ret = 1;

View File

@ -1,7 +1,7 @@
Subject: cond-resched-lock-rt-tweak.patch Subject: cond-resched-lock-rt-tweak.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 22:51:33 +0200 Date: Sun, 17 Jul 2011 22:51:33 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---
@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/include/linux/sched.h --- a/include/linux/sched.h
+++ b/include/linux/sched.h +++ b/include/linux/sched.h
@@ -2482,7 +2482,7 @@ extern int _cond_resched(void); @@ -2528,7 +2528,7 @@ extern int _cond_resched(void);
extern int __cond_resched_lock(spinlock_t *lock); extern int __cond_resched_lock(spinlock_t *lock);

View File

@ -1,7 +1,7 @@
Subject: cond-resched-softirq-fix.patch Subject: cond-resched-softirq-fix.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Jul 2011 09:56:44 +0200 Date: Thu, 14 Jul 2011 09:56:44 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---
@ -11,7 +11,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/include/linux/sched.h --- a/include/linux/sched.h
+++ b/include/linux/sched.h +++ b/include/linux/sched.h
@@ -2493,12 +2493,16 @@ extern int __cond_resched_lock(spinlock_ @@ -2539,12 +2539,16 @@ extern int __cond_resched_lock(spinlock_
__cond_resched_lock(lock); \ __cond_resched_lock(lock); \
}) })
@ -30,7 +30,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
{ {
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -3941,6 +3941,7 @@ int __cond_resched_lock(spinlock_t *lock @@ -3954,6 +3954,7 @@ int __cond_resched_lock(spinlock_t *lock
} }
EXPORT_SYMBOL(__cond_resched_lock); EXPORT_SYMBOL(__cond_resched_lock);
@ -38,7 +38,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
int __sched __cond_resched_softirq(void) int __sched __cond_resched_softirq(void)
{ {
BUG_ON(!in_softirq()); BUG_ON(!in_softirq());
@@ -3954,6 +3955,7 @@ int __sched __cond_resched_softirq(void) @@ -3967,6 +3968,7 @@ int __sched __cond_resched_softirq(void)
return 0; return 0;
} }
EXPORT_SYMBOL(__cond_resched_softirq); EXPORT_SYMBOL(__cond_resched_softirq);

View File

@ -2,7 +2,7 @@ From 56f43bce737d3f28ad470c95fa84f824cb0d55ad Mon Sep 17 00:00:00 2001
From: Nicholas Mc Guire <der.herr@hofr.at> From: Nicholas Mc Guire <der.herr@hofr.at>
Date: Thu, 21 Nov 2013 22:52:30 -0500 Date: Thu, 21 Nov 2013 22:52:30 -0500
Subject: [PATCH 2/2] condition migration_disable on lock acquisition Subject: [PATCH 2/2] condition migration_disable on lock acquisition
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
No need to unconditionally migrate_disable (what is it protecting ?) and No need to unconditionally migrate_disable (what is it protecting ?) and
re-enable on failure to acquire the lock. re-enable on failure to acquire the lock.

View File

@ -1,7 +1,7 @@
Subject: cpu: Make hotplug.lock a "sleeping" spinlock on RT Subject: cpu: Make hotplug.lock a "sleeping" spinlock on RT
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Date: Fri, 02 Mar 2012 10:36:57 -0500 Date: Fri, 02 Mar 2012 10:36:57 -0500
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Tasks can block on hotplug.lock in pin_current_cpu(), but their state Tasks can block on hotplug.lock in pin_current_cpu(), but their state
might be != RUNNING. So the mutex wakeup will set the state might be != RUNNING. So the mutex wakeup will set the state

View File

@ -1,7 +1,7 @@
From: Steven Rostedt <srostedt@redhat.com> From: Steven Rostedt <srostedt@redhat.com>
Date: Mon, 16 Jul 2012 08:07:43 +0000 Date: Mon, 16 Jul 2012 08:07:43 +0000
Subject: cpu/rt: Rework cpu down for PREEMPT_RT Subject: cpu/rt: Rework cpu down for PREEMPT_RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Bringing a CPU down is a pain with the PREEMPT_RT kernel because Bringing a CPU down is a pain with the PREEMPT_RT kernel because
tasks can be preempted in many more places than in non-RT. In tasks can be preempted in many more places than in non-RT. In
@ -57,7 +57,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/include/linux/sched.h --- a/include/linux/sched.h
+++ b/include/linux/sched.h +++ b/include/linux/sched.h
@@ -1807,6 +1807,10 @@ extern void do_set_cpus_allowed(struct t @@ -1808,6 +1808,10 @@ extern void do_set_cpus_allowed(struct t
extern int set_cpus_allowed_ptr(struct task_struct *p, extern int set_cpus_allowed_ptr(struct task_struct *p,
const struct cpumask *new_mask); const struct cpumask *new_mask);
@ -68,7 +68,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#else #else
static inline void do_set_cpus_allowed(struct task_struct *p, static inline void do_set_cpus_allowed(struct task_struct *p,
const struct cpumask *new_mask) const struct cpumask *new_mask)
@@ -1819,6 +1823,9 @@ static inline int set_cpus_allowed_ptr(s @@ -1820,6 +1824,9 @@ static inline int set_cpus_allowed_ptr(s
return -EINVAL; return -EINVAL;
return 0; return 0;
} }
@ -443,7 +443,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* CPU didn't die: tell everyone. Can't complain. */ /* CPU didn't die: tell everyone. Can't complain. */
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -2359,7 +2359,7 @@ void migrate_disable(void) @@ -2370,7 +2370,7 @@ void migrate_disable(void)
{ {
struct task_struct *p = current; struct task_struct *p = current;
@ -452,7 +452,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_SCHED_DEBUG #ifdef CONFIG_SCHED_DEBUG
p->migrate_disable_atomic++; p->migrate_disable_atomic++;
#endif #endif
@@ -2389,7 +2389,7 @@ void migrate_enable(void) @@ -2400,7 +2400,7 @@ void migrate_enable(void)
unsigned long flags; unsigned long flags;
struct rq *rq; struct rq *rq;
@ -461,7 +461,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
#ifdef CONFIG_SCHED_DEBUG #ifdef CONFIG_SCHED_DEBUG
p->migrate_disable_atomic--; p->migrate_disable_atomic--;
#endif #endif
@@ -4428,6 +4428,84 @@ void do_set_cpus_allowed(struct task_str @@ -4439,6 +4439,84 @@ void do_set_cpus_allowed(struct task_str
cpumask_copy(&p->cpus_allowed, new_mask); cpumask_copy(&p->cpus_allowed, new_mask);
} }

View File

@ -1,7 +1,7 @@
Subject: cpu-rt-variants.patch Subject: cpu-rt-variants.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 17 Jun 2011 15:42:38 +0200 Date: Fri, 17 Jun 2011 15:42:38 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -2,7 +2,7 @@ From linux-rt-users-owner@vger.kernel.org Thu Nov 7 03:07:12 2013
From: Tiejun Chen <tiejun.chen@windriver.com> From: Tiejun Chen <tiejun.chen@windriver.com>
Subject: [v1][PATCH] cpu_down: move migrate_enable() back Subject: [v1][PATCH] cpu_down: move migrate_enable() back
Date: Thu, 7 Nov 2013 10:06:07 +0800 Date: Thu, 7 Nov 2013 10:06:07 +0800
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Commit 08c1ab68, "hotplug-use-migrate-disable.patch", intends to Commit 08c1ab68, "hotplug-use-migrate-disable.patch", intends to
use migrate_enable()/migrate_disable() to replace that combination use migrate_enable()/migrate_disable() to replace that combination

View File

@ -1,7 +1,7 @@
Subject: cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT Subject: cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 14 Dec 2011 01:03:49 +0100 Date: Wed, 14 Dec 2011 01:03:49 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
We can't deal with the cpumask allocations which happen in atomic We can't deal with the cpumask allocations which happen in atomic
context (see arch/x86/kernel/apic/io_apic.c) on RT right now. context (see arch/x86/kernel/apic/io_apic.c) on RT right now.

View File

@ -1,7 +1,7 @@
Subject: debugobjects-rt.patch Subject: debugobjects-rt.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:41:35 +0200 Date: Sun, 17 Jul 2011 21:41:35 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: dm: Make rt aware Subject: dm: Make rt aware
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 14 Nov 2011 23:06:09 +0100 Date: Mon, 14 Nov 2011 23:06:09 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Use the BUG_ON_NORT variant for the irq_disabled() checks. RT has Use the BUG_ON_NORT variant for the irq_disabled() checks. RT has
interrupts legitimately enabled here as we cant deadlock against the interrupts legitimately enabled here as we cant deadlock against the

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:24 -0500 Date: Fri, 3 Jul 2009 08:29:24 -0500
Subject: drivers/net: Use disable_irq_nosync() in 8139too Subject: drivers/net: Use disable_irq_nosync() in 8139too
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Use disable_irq_nosync() instead of disable_irq() as this might be Use disable_irq_nosync() instead of disable_irq() as this might be
called in atomic context with netpoll. called in atomic context with netpoll.

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 20 Jun 2009 11:36:54 +0200 Date: Sat, 20 Jun 2009 11:36:54 +0200
Subject: drivers/net: fix livelock issues Subject: drivers/net: fix livelock issues
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Preempt-RT runs into a live lock issue with the NETDEV_TX_LOCKED micro Preempt-RT runs into a live lock issue with the NETDEV_TX_LOCKED micro
optimization. The reason is that the softirq thread is rescheduling optimization. The reason is that the softirq thread is rescheduling

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Apr 2010 20:20:57 +0200 Date: Thu, 1 Apr 2010 20:20:57 +0200
Subject: drivers: net: gianfar: Make RT aware Subject: drivers: net: gianfar: Make RT aware
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The adjust_link() disables interrupts before taking the queue The adjust_link() disables interrupts before taking the queue
locks. On RT those locks are converted to "sleeping" locks and locks. On RT those locks are converted to "sleeping" locks and

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:18 -0500 Date: Fri, 3 Jul 2009 08:30:18 -0500
Subject: drivers/net: tulip_remove_one needs to call pci_disable_device() Subject: drivers/net: tulip_remove_one needs to call pci_disable_device()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Otherwise the device is not completely shut down. Otherwise the device is not completely shut down.

View File

@ -1,7 +1,7 @@
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Date: Fri, 3 Jul 2009 08:30:00 -0500 Date: Fri, 3 Jul 2009 08:30:00 -0500
Subject: drivers/net: vortex fix locking issues Subject: drivers/net: vortex fix locking issues
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Argh, cut and paste wasn't enough... Argh, cut and paste wasn't enough...

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:30 -0500 Date: Fri, 3 Jul 2009 08:29:30 -0500
Subject: drivers: random: Reduce preempt disabled region Subject: drivers: random: Reduce preempt disabled region
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
No need to keep preemption disabled across the whole function. No need to keep preemption disabled across the whole function.

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:01 -0500 Date: Fri, 3 Jul 2009 08:30:01 -0500
Subject: serial: 8250: Call flush_to_ldisc when the irq is threaded Subject: serial: 8250: Call flush_to_ldisc when the irq is threaded
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu>

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:01 -0500 Date: Fri, 3 Jul 2009 08:30:01 -0500
Subject: serial: 8250: Clean up the locking for -rt Subject: serial: 8250: Clean up the locking for -rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

View File

@ -1,7 +1,7 @@
Subject: drivers-tty-fix-omap-lock-crap.patch Subject: drivers-tty-fix-omap-lock-crap.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 28 Jul 2011 13:32:57 +0200 Date: Thu, 28 Jul 2011 13:32:57 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: drivers-tty-pl011-irq-disable-madness.patch Subject: drivers-tty-pl011-irq-disable-madness.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 08 Jan 2013 21:36:51 +0100 Date: Tue, 08 Jan 2013 21:36:51 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -2,7 +2,7 @@ From d841118ac80c5bfb18f47984bc40687eed08b714 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 25 Apr 2013 18:12:52 +0200 Date: Thu, 25 Apr 2013 18:12:52 +0200
Subject: [PATCH] drm/i915: drop trace_i915_gem_ring_dispatch on rt Subject: [PATCH] drm/i915: drop trace_i915_gem_ring_dispatch on rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
This tracepoint is responsible for: This tracepoint is responsible for:

View File

@ -3,7 +3,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Oct 2013 17:14:31 +0200 Date: Fri, 11 Oct 2013 17:14:31 +0200
Subject: [PATCH] drm: remove preempt_disable() from Subject: [PATCH] drm: remove preempt_disable() from
drm_calc_vbltimestamp_from_scanoutpos() drm_calc_vbltimestamp_from_scanoutpos()
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Luis captured the following: Luis captured the following:

View File

@ -1,7 +1,7 @@
Subject: early-printk-consolidate.patch Subject: early-printk-consolidate.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 23 Jul 2011 11:04:08 +0200 Date: Sat, 23 Jul 2011 11:04:08 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: epoll.patch Subject: epoll.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 08 Jul 2011 16:35:35 +0200 Date: Fri, 08 Jul 2011 16:35:35 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: filemap-fix-up.patch Subject: filemap-fix-up.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 17 Jun 2011 18:56:24 +0200 Date: Fri, 17 Jun 2011 18:56:24 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Wrecked-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Wrecked-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

View File

@ -1,6 +1,6 @@
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Subject: x86: Do not disable preemption in int3 on 32bit Subject: x86: Do not disable preemption in int3 on 32bit
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Preemption must be disabled before enabling interrupts in do_trap Preemption must be disabled before enabling interrupts in do_trap
on x86_64 because the stack in use for int3 and debug is a per CPU on x86_64 because the stack in use for int3 and debug is a per CPU

View File

@ -2,15 +2,14 @@ From 53a9508f5983092928b0e6e12f400b686e1f04b1 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 28 Oct 2013 11:50:06 +0100 Date: Mon, 28 Oct 2013 11:50:06 +0100
Subject: [PATCH] a few open coded completions Subject: [PATCH] a few open coded completions
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- ---
drivers/net/wireless/orinoco/orinoco_usb.c | 2 +- drivers/net/wireless/orinoco/orinoco_usb.c | 2 +-
drivers/usb/gadget/f_fs.c | 2 +- drivers/usb/gadget/f_fs.c | 2 +-
drivers/usb/gadget/inode.c | 4 ++-- drivers/usb/gadget/inode.c | 4 ++--
include/linux/netdevice.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)
4 files changed, 5 insertions(+), 5 deletions(-)
--- a/drivers/net/wireless/orinoco/orinoco_usb.c --- a/drivers/net/wireless/orinoco/orinoco_usb.c
+++ b/drivers/net/wireless/orinoco/orinoco_usb.c +++ b/drivers/net/wireless/orinoco/orinoco_usb.c
@ -54,14 +53,3 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (epdata->status == -ECONNRESET) if (epdata->status == -ECONNRESET)
epdata->status = -EINTR; epdata->status = -EINTR;
} else { } else {
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1214,7 +1214,7 @@ struct net_device {
unsigned char perm_addr[MAX_ADDR_LEN]; /* permanent hw address */
unsigned char addr_assign_type; /* hw address assignment type */
unsigned char addr_len; /* hardware address length */
- unsigned char neigh_priv_len;
+ unsigned short neigh_priv_len;
unsigned short dev_id; /* Used to differentiate devices
* that share the same link
* layer address

View File

@ -1,7 +1,7 @@
Subject: fs-block-rt-support.patch Subject: fs-block-rt-support.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 14 Jun 2011 17:05:09 +0200 Date: Tue, 14 Jun 2011 17:05:09 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: fs: dcache: Use cpu_chill() in trylock loops Subject: fs: dcache: Use cpu_chill() in trylock loops
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 07 Mar 2012 21:00:34 +0100 Date: Wed, 07 Mar 2012 21:00:34 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Retry loops on RT might loop forever when the modifying side was Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system preempted. Use cpu_chill() instead of cpu_relax() to let the system

View File

@ -1,7 +1,7 @@
From: Mike Galbraith <mgalbraith@suse.de> From: Mike Galbraith <mgalbraith@suse.de>
Date: Wed, 11 Jul 2012 22:05:20 +0000 Date: Wed, 11 Jul 2012 22:05:20 +0000
Subject: fs, jbd: pull your plug when waiting for space Subject: fs, jbd: pull your plug when waiting for space
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
With an -rt kernel, and a heavy sync IO load, tasks can jam With an -rt kernel, and a heavy sync IO load, tasks can jam
up on journal locks without unplugging, which can lead to up on journal locks without unplugging, which can lead to

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 10:11:25 +0100 Date: Fri, 18 Mar 2011 10:11:25 +0100
Subject: fs: jbd/jbd2: Make state lock and journal head lock rt safe Subject: fs: jbd/jbd2: Make state lock and journal head lock rt safe
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
bit_spin_locks break under RT. bit_spin_locks break under RT.

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 19 Jul 2009 08:44:27 -0500 Date: Sun, 19 Jul 2009 08:44:27 -0500
Subject: fs: namespace preemption fix Subject: fs: namespace preemption fix
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
On RT we cannot loop with preemption disabled here as On RT we cannot loop with preemption disabled here as
mnt_make_readonly() might have been preempted. We can safely enable mnt_make_readonly() might have been preempted. We can safely enable

View File

@ -1,7 +1,7 @@
From: Mike Galbraith <efault@gmx.de> From: Mike Galbraith <efault@gmx.de>
Date: Fri, 3 Jul 2009 08:44:12 -0500 Date: Fri, 3 Jul 2009 08:44:12 -0500
Subject: fs: ntfs: disable interrupt only on !RT Subject: fs: ntfs: disable interrupt only on !RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote: On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote:
> * Nick Piggin <nickpiggin@yahoo.com.au> wrote: > * Nick Piggin <nickpiggin@yahoo.com.au> wrote:

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 09:18:52 +0100 Date: Fri, 18 Mar 2011 09:18:52 +0100
Subject: buffer_head: Replace bh_uptodate_lock for -rt Subject: buffer_head: Replace bh_uptodate_lock for -rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Wrap the bit_spin_lock calls into a separate inline and add the RT Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock. replacements with a real spinlock.

View File

@ -1,7 +1,7 @@
Subject: ftrace-migrate-disable-tracing.patch Subject: ftrace-migrate-disable-tracing.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:56:42 +0200 Date: Sun, 17 Jul 2011 21:56:42 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,6 +1,6 @@
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Subject: futex: Fix bug on when a requeued RT task times out Subject: futex: Fix bug on when a requeued RT task times out
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Requeue with timeout causes a bug with PREEMPT_RT_FULL. Requeue with timeout causes a bug with PREEMPT_RT_FULL.

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:57 -0500 Date: Fri, 3 Jul 2009 08:29:57 -0500
Subject: genirq: disable irqpoll on -rt Subject: genirq: disable irqpoll on -rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Creates long latencies for no value Creates long latencies for no value

View File

@ -2,7 +2,7 @@ From 76666dbbdd40e963e7df84c123fc9aea4a2bcc69 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 21 Aug 2013 17:48:46 +0200 Date: Wed, 21 Aug 2013 17:48:46 +0200
Subject: [PATCH] genirq: do not invoke the affinity callback via a workqueue Subject: [PATCH] genirq: do not invoke the affinity callback via a workqueue
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Joe Korty reported, that __irq_set_affinity_locked() schedules a Joe Korty reported, that __irq_set_affinity_locked() schedules a
workqueue while holding a rawlock which results in a might_sleep() workqueue while holding a rawlock which results in a might_sleep()

View File

@ -1,7 +1,7 @@
Subject: genirq-force-threading.patch Subject: genirq-force-threading.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 03 Apr 2011 11:57:29 +0200 Date: Sun, 03 Apr 2011 11:57:29 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 18 Mar 2011 10:22:04 +0100 Date: Sun, 18 Mar 2011 10:22:04 +0100
Subject: genirq: Disable DEBUG_SHIRQ for rt Subject: genirq: Disable DEBUG_SHIRQ for rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: hotplug: Call cpu_unplug_begin() before DOWN_PREPARE Subject: hotplug: Call cpu_unplug_begin() before DOWN_PREPARE
From: Yong Zhang <yong.zhang0@gmail.com> From: Yong Zhang <yong.zhang0@gmail.com>
Date: Sun, 16 Oct 2011 18:56:44 +0800 Date: Sun, 16 Oct 2011 18:56:44 +0800
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
cpu_unplug_begin() should be called before CPU_DOWN_PREPARE, because cpu_unplug_begin() should be called before CPU_DOWN_PREPARE, because
at CPU_DOWN_PREPARE cpu_active is cleared and sched_domain is at CPU_DOWN_PREPARE cpu_active is cleared and sched_domain is

View File

@ -1,7 +1,7 @@
Subject: hotplug: Lightweight get online cpus Subject: hotplug: Lightweight get online cpus
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 15 Jun 2011 12:36:06 +0200 Date: Wed, 15 Jun 2011 12:36:06 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
get_online_cpus() is a heavy weight function which involves a global get_online_cpus() is a heavy weight function which involves a global
mutex. migrate_disable() wants a simpler construct which prevents only mutex. migrate_disable() wants a simpler construct which prevents only

View File

@ -1,7 +1,7 @@
Subject: hotplug: sync_unplug: No "\n" in task name Subject: hotplug: sync_unplug: No "\n" in task name
From: Yong Zhang <yong.zhang0@gmail.com> From: Yong Zhang <yong.zhang0@gmail.com>
Date: Sun, 16 Oct 2011 18:56:43 +0800 Date: Sun, 16 Oct 2011 18:56:43 +0800
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Otherwise the output will look a little odd. Otherwise the output will look a little odd.

View File

@ -1,7 +1,7 @@
Subject: hotplug-use-migrate-disable.patch Subject: hotplug-use-migrate-disable.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 19:35:29 +0200 Date: Sun, 17 Jul 2011 19:35:29 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -2,7 +2,7 @@ From 180cdb93d796bf52c919f5e3df30af83aa6d46ca Mon Sep 17 00:00:00 2001
From: Yang Shi <yang.shi@windriver.com> From: Yang Shi <yang.shi@windriver.com>
Date: Mon, 16 Sep 2013 14:09:19 -0700 Date: Mon, 16 Sep 2013 14:09:19 -0700
Subject: [PATCH] hrtimer: Move schedule_work call to helper thread Subject: [PATCH] hrtimer: Move schedule_work call to helper thread
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
When run ltp leapsec_timer test, the following call trace is caught: When run ltp leapsec_timer test, the following call trace is caught:

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:31 -0500 Date: Fri, 3 Jul 2009 08:44:31 -0500
Subject: hrtimer: fixup hrtimer callback changes for preempt-rt Subject: hrtimer: fixup hrtimer callback changes for preempt-rt
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
In preempt-rt we can not call the callbacks which take sleeping locks In preempt-rt we can not call the callbacks which take sleeping locks
from the timer interrupt context. from the timer interrupt context.

View File

@ -1,7 +1,7 @@
Subject: hrtimer: Raise softirq if hrtimer irq stalled Subject: hrtimer: Raise softirq if hrtimer irq stalled
From: Watanabe <shunsuke.watanabe@tel.com> From: Watanabe <shunsuke.watanabe@tel.com>
Date: Sun, 28 Oct 2012 11:13:44 +0100 Date: Sun, 28 Oct 2012 11:13:44 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
When the hrtimer stall detection hits the softirq is not raised. When the hrtimer stall detection hits the softirq is not raised.

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:34 -0500 Date: Fri, 3 Jul 2009 08:29:34 -0500
Subject: hrtimers: prepare full preemption Subject: hrtimers: prepare full preemption
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Make cancellation of a running callback in softirq context safe Make cancellation of a running callback in softirq context safe
against preemption. against preemption.

View File

@ -2,7 +2,7 @@ From c19bf3baaa55918486b868ab17aae0c0c220e51f Mon Sep 17 00:00:00 2001
From: Mike Galbraith <bitbucket@online.de> From: Mike Galbraith <bitbucket@online.de>
Date: Fri, 30 Aug 2013 07:57:25 +0200 Date: Fri, 30 Aug 2013 07:57:25 +0200
Subject: [PATCH] hwlat-detector: Don't ignore threshold module parameter Subject: [PATCH] hwlat-detector: Don't ignore threshold module parameter
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
If the user specified a threshold at module load time, use it. If the user specified a threshold at module load time, use it.

View File

@ -3,7 +3,7 @@ From: Steven Rostedt <rostedt@goodmis.org>
Date: Mon, 19 Aug 2013 17:33:25 -0400 Date: Mon, 19 Aug 2013 17:33:25 -0400
Subject: [PATCH 1/3] hwlat-detector: Update hwlat_detector to add outer loop Subject: [PATCH 1/3] hwlat-detector: Update hwlat_detector to add outer loop
detection detection
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The hwlat_detector reads two timestamps in a row, then reports any The hwlat_detector reads two timestamps in a row, then reports any
gap between those calls. The problem is, it misses everything between gap between those calls. The problem is, it misses everything between

View File

@ -2,7 +2,7 @@ From 42b3963c5d3dcdb54226fc6bbb6b5fbcf3f2ddee Mon Sep 17 00:00:00 2001
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Date: Mon, 19 Aug 2013 17:33:27 -0400 Date: Mon, 19 Aug 2013 17:33:27 -0400
Subject: [PATCH 3/3] hwlat-detector: Use thread instead of stop machine Subject: [PATCH 3/3] hwlat-detector: Use thread instead of stop machine
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
There's no reason to use stop machine to search for hardware latency. There's no reason to use stop machine to search for hardware latency.
Simply disabling interrupts while running the loop will do enough to Simply disabling interrupts while running the loop will do enough to

View File

@ -2,7 +2,7 @@ From 4aaca90c0255caee9a55371afaecb32365123762 Mon Sep 17 00:00:00 2001
From: Steven Rostedt <rostedt@goodmis.org> From: Steven Rostedt <rostedt@goodmis.org>
Date: Mon, 19 Aug 2013 17:33:26 -0400 Date: Mon, 19 Aug 2013 17:33:26 -0400
Subject: [PATCH 2/3] hwlat-detector: Use trace_clock_local if available Subject: [PATCH 2/3] hwlat-detector: Use trace_clock_local if available
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
As ktime_get() calls into the timing code which does a read_seq(), it As ktime_get() calls into the timing code which does a read_seq(), it
may be affected by other CPUS that touch that lock. To remove this may be affected by other CPUS that touch that lock. To remove this

View File

@ -1,7 +1,7 @@
Subject: hwlatdetect.patch Subject: hwlatdetect.patch
From: Carsten Emde <C.Emde@osadl.org> From: Carsten Emde <C.Emde@osadl.org>
Date: Tue, 19 Jul 2011 13:53:12 +0100 Date: Tue, 19 Jul 2011 13:53:12 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Jon Masters developed this wonderful SMI detector. For details please Jon Masters developed this wonderful SMI detector. For details please
consult Documentation/hwlat_detector.txt. It could be ported to Linux consult Documentation/hwlat_detector.txt. It could be ported to Linux

View File

@ -2,7 +2,7 @@ From 5145351047b216cca13aaca99f939a9a594c6c4d Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Mar 2013 11:35:49 +0100 Date: Thu, 21 Mar 2013 11:35:49 +0100
Subject: [PATCH 2/3] i2c/omap: drop the lock hard irq context Subject: [PATCH 2/3] i2c/omap: drop the lock hard irq context
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The lock is taken while reading two registers. On RT the first lock is The lock is taken while reading two registers. On RT the first lock is
taken in hard irq where it might sleep and in the threaded irq. taken in hard irq where it might sleep and in the threaded irq.

View File

@ -1,6 +1,6 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: gpu/i915: don't open code these things Subject: gpu/i915: don't open code these things
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The opencode part is gone in 1f83fee0 ("drm/i915: clear up wedged transitions") The opencode part is gone in 1f83fee0 ("drm/i915: clear up wedged transitions")
the owner check is still there. the owner check is still there.

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:16 -0500 Date: Fri, 3 Jul 2009 08:30:16 -0500
Subject: ide: Do not disable interrupts for PREEMPT-RT Subject: ide: Do not disable interrupts for PREEMPT-RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Use the local_irq_*_nort variants. Use the local_irq_*_nort variants.

View File

@ -1,7 +1,7 @@
Subject: sched: Init idle->on_rq in init_idle() Subject: sched: Init idle->on_rq in init_idle()
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 09 Jan 2013 23:03:29 +0100 Date: Wed, 09 Jan 2013 23:03:29 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,6 +1,6 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Subject: idr: Use local lock instead of preempt enable/disable Subject: idr: Use local lock instead of preempt enable/disable
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
We need to protect the per cpu variable and prevent migration. We need to protect the per cpu variable and prevent migration.

View File

@ -1,7 +1,7 @@
From: Sven-Thorsten Dietrich <sdietrich@novell.com> From: Sven-Thorsten Dietrich <sdietrich@novell.com>
Date: Fri, 3 Jul 2009 08:30:35 -0500 Date: Fri, 3 Jul 2009 08:30:35 -0500
Subject: infiniband: Mellanox IB driver patch use _nort() primitives Subject: infiniband: Mellanox IB driver patch use _nort() primitives
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Fixes in_atomic stack-dump, when Mellanox module is loaded into the RT Fixes in_atomic stack-dump, when Mellanox module is loaded into the RT
Kernel. Kernel.

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:16 -0500 Date: Fri, 3 Jul 2009 08:30:16 -0500
Subject: input: gameport: Do not disable interrupts on PREEMPT_RT Subject: input: gameport: Do not disable interrupts on PREEMPT_RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Use the _nort() primitives. Use the _nort() primitives.

View File

@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu> From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:12 -0500 Date: Fri, 3 Jul 2009 08:30:12 -0500
Subject: ipc: Make the ipc code -rt aware Subject: ipc: Make the ipc code -rt aware
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
RT serializes the code with the (rt)spinlock but keeps preemption RT serializes the code with the (rt)spinlock but keeps preemption
enabled. Some parts of the code need to be atomic nevertheless. enabled. Some parts of the code need to be atomic nevertheless.

View File

@ -1,7 +1,7 @@
Subject: ipc/mqueue: Add a critical section to avoid a deadlock Subject: ipc/mqueue: Add a critical section to avoid a deadlock
From: KOBAYASHI Yoshitake <yoshitake.kobayashi@toshiba.co.jp> From: KOBAYASHI Yoshitake <yoshitake.kobayashi@toshiba.co.jp>
Date: Sat, 23 Jul 2011 11:57:36 +0900 Date: Sat, 23 Jul 2011 11:57:36 +0900
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
(Repost for v3.0-rt1 and changed the distination addreses) (Repost for v3.0-rt1 and changed the distination addreses)
I have tested the following patch on v3.0-rt1 with PREEMPT_RT_FULL. I have tested the following patch on v3.0-rt1 with PREEMPT_RT_FULL.

View File

@ -1,7 +1,7 @@
Subject: ipc/sem: Rework semaphore wakeups Subject: ipc/sem: Rework semaphore wakeups
From: Peter Zijlstra <peterz@infradead.org> From: Peter Zijlstra <peterz@infradead.org>
Date: Wed, 14 Sep 2011 11:57:04 +0200 Date: Wed, 14 Sep 2011 11:57:04 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Current sysv sems have a weird ass wakeup scheme that involves keeping Current sysv sems have a weird ass wakeup scheme that involves keeping
preemption disabled over a potential O(n^2) loop and busy waiting on preemption disabled over a potential O(n^2) loop and busy waiting on

View File

@ -1,7 +1,7 @@
Subject: genirq: Allow disabling of softirq processing in irq thread context Subject: genirq: Allow disabling of softirq processing in irq thread context
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 31 Jan 2012 13:01:27 +0100 Date: Tue, 31 Jan 2012 13:01:27 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
The processing of softirqs in irq thread context is a performance gain The processing of softirqs in irq thread context is a performance gain
for the non-rt workloads of a system, but it's counterproductive for for the non-rt workloads of a system, but it's counterproductive for

View File

@ -1,7 +1,7 @@
Subject: jump-label-rt.patch Subject: jump-label-rt.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 13 Jul 2011 11:03:16 +0200 Date: Wed, 13 Jul 2011 11:03:16 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: kconfig-disable-a-few-options-rt.patch Subject: kconfig-disable-a-few-options-rt.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 24 Jul 2011 12:11:43 +0200 Date: Sun, 24 Jul 2011 12:11:43 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Disable stuff which is known to have issues on RT Disable stuff which is known to have issues on RT

View File

@ -1,7 +1,7 @@
Subject: kconfig-preempt-rt-full.patch Subject: kconfig-preempt-rt-full.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 29 Jun 2011 14:58:57 +0200 Date: Wed, 29 Jun 2011 14:58:57 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -3,7 +3,7 @@ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 7 Jun 2013 22:37:06 +0200 Date: Fri, 7 Jun 2013 22:37:06 +0200
Subject: [PATCH] kernel/cpu: fix cpu down problem if kthread's cpu is Subject: [PATCH] kernel/cpu: fix cpu down problem if kthread's cpu is
going down going down
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
If kthread is pinned to CPUx and CPUx is going down then we get into If kthread is pinned to CPUx and CPUx is going down then we get into
trouble: trouble:

View File

@ -2,7 +2,7 @@ From 4c6df3d78817c20a147c0291f6600d002c0910d3 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 14 Jun 2013 17:16:35 +0200 Date: Fri, 14 Jun 2013 17:16:35 +0200
Subject: [PATCH] kernel/hotplug: restore original cpu mask oncpu/down Subject: [PATCH] kernel/hotplug: restore original cpu mask oncpu/down
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
If a task which is allowed to run only on CPU X puts CPU Y down then it If a task which is allowed to run only on CPU X puts CPU Y down then it
will be allowed on all CPUs but the on CPU Y after it comes back from will be allowed on all CPUs but the on CPU Y after it comes back from

View File

@ -1,7 +1,7 @@
From: Jason Wessel <jason.wessel@windriver.com> From: Jason Wessel <jason.wessel@windriver.com>
Date: Thu, 28 Jul 2011 12:42:23 -0500 Date: Thu, 28 Jul 2011 12:42:23 -0500
Subject: kgdb/serial: Short term workaround Subject: kgdb/serial: Short term workaround
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
On 07/27/2011 04:37 PM, Thomas Gleixner wrote: On 07/27/2011 04:37 PM, Thomas Gleixner wrote:
> - KGDB (not yet disabled) is reportedly unusable on -rt right now due > - KGDB (not yet disabled) is reportedly unusable on -rt right now due

View File

@ -1,7 +1,7 @@
Subject: latency-hist.patch Subject: latency-hist.patch
From: Carsten Emde <C.Emde@osadl.org> From: Carsten Emde <C.Emde@osadl.org>
Date: Tue, 19 Jul 2011 14:03:41 +0100 Date: Tue, 19 Jul 2011 14:03:41 +0100
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
This patch provides a recording mechanism to store data of potential This patch provides a recording mechanism to store data of potential
sources of system latencies. The recordings separately determine the sources of system latencies. The recordings separately determine the
@ -229,7 +229,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
void *start_site; void *start_site;
--- a/include/linux/sched.h --- a/include/linux/sched.h
+++ b/include/linux/sched.h +++ b/include/linux/sched.h
@@ -1397,6 +1397,12 @@ struct task_struct { @@ -1398,6 +1398,12 @@ struct task_struct {
unsigned long trace; unsigned long trace;
/* bitmask and counter of trace recursion */ /* bitmask and counter of trace recursion */
unsigned long trace_recursion; unsigned long trace_recursion;

View File

@ -1,7 +1,7 @@
Subject: lglocks-rt.patch Subject: lglocks-rt.patch
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 15 Jun 2011 11:02:21 +0200 Date: Wed, 15 Jun 2011 11:02:21 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
Subject: list-add-list-last-entry.patch Subject: list-add-list-last-entry.patch
From: Peter Zijlstra <peterz@infradead.org> From: Peter Zijlstra <peterz@infradead.org>
Date: Tue, 21 Jun 2011 11:22:36 +0200 Date: Tue, 21 Jun 2011 11:22:36 +0200
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- ---

View File

@ -1,7 +1,7 @@
From: Paul Gortmaker <paul.gortmaker@windriver.com> From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Fri, 21 Jun 2013 15:07:25 -0400 Date: Fri, 21 Jun 2013 15:07:25 -0400
Subject: [PATCH] list_bl.h: make list head locking RT safe Subject: [PATCH] list_bl.h: make list head locking RT safe
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
As per changes in include/linux/jbd_common.h for avoiding the As per changes in include/linux/jbd_common.h for avoiding the
bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal

View File

@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de> From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 21 Jul 2009 22:34:14 +0200 Date: Tue, 21 Jul 2009 22:34:14 +0200
Subject: rt: local_irq_* variants depending on RT/!RT Subject: rt: local_irq_* variants depending on RT/!RT
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.1-rt4.tar.xz Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz
Add local_irq_*_(no)rt variant which are mainly used to break Add local_irq_*_(no)rt variant which are mainly used to break
interrupt disabled sections on PREEMPT_RT or to explicitely disable interrupt disabled sections on PREEMPT_RT or to explicitely disable

Some files were not shown because too many files have changed in this diff Show More