diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-10-05 14:07:09 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-10-05 14:07:09 -0400 |
commit | fd047d5c926b60414ae3fb23214368ea29e992f8 (patch) | |
tree | 668518f8fe683de4f6f2320a89f5b5c0da08eaea | |
parent | 32f71b838d17e4b6731b653e73f8d0595c34bdac (diff) | |
download | 4.12-rt-patches-fd047d5c926b60414ae3fb23214368ea29e992f8.tar.gz |
random: refresh patchrt-v4.12-rc4
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | patches/random-make-it-work-on-rt.patch | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/patches/random-make-it-work-on-rt.patch b/patches/random-make-it-work-on-rt.patch index b1edc8efd3e36..042c77fd7a97f 100644 --- a/patches/random-make-it-work-on-rt.patch +++ b/patches/random-make-it-work-on-rt.patch @@ -1,6 +1,7 @@ -Subject: random: Make it work on rt +From 014bf4d22f789fe5c823766190bad45288307ccc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Aug 2012 20:38:50 +0200 +Subject: [PATCH] random: Make it work on rt Delegate the random insertion to the forced threaded interrupt handler. Store the return IP of the hard interrupt handler in the irq @@ -9,19 +10,12 @@ entropy. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> ---- - drivers/char/random.c | 11 +++++------ - drivers/hv/vmbus_drv.c | 4 +++- - include/linux/irqdesc.h | 1 + - include/linux/random.h | 2 +- - kernel/irq/handle.c | 8 +++++++- - kernel/irq/manage.c | 6 ++++++ - 6 files changed, 23 insertions(+), 9 deletions(-) - +diff --git a/drivers/char/random.c b/drivers/char/random.c +index 9624b6eed510..9afeb4d6cf6d 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c -@@ -1109,28 +1109,27 @@ static __u32 get_reg(struct fast_pool *f - return *(ptr + f->reg_idx++); +@@ -1106,28 +1106,27 @@ static __u32 get_reg(struct fast_pool *f, struct pt_regs *regs) + return *ptr; } -void add_interrupt_randomness(int irq, int irq_flags) @@ -54,9 +48,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> fast_mix(fast_pool); add_interrupt_bench(cycles); +diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c +index 0087b49095eb..47dad48958e8 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c -@@ -970,6 +970,8 @@ static void vmbus_isr(void) +@@ -968,6 +968,8 @@ static void vmbus_isr(void) void *page_addr = hv_cpu->synic_event_page; struct hv_message *msg; union hv_synic_event_flags *event; @@ -65,7 +61,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> bool handled = false; if (unlikely(page_addr == NULL)) -@@ -1013,7 +1015,7 @@ static void vmbus_isr(void) +@@ -1011,7 +1013,7 @@ static void vmbus_isr(void) tasklet_schedule(&hv_cpu->msg_dpc); } @@ -74,6 +70,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> } +diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h +index c9be57931b58..eeeb540971ae 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h @@ -66,6 +66,7 @@ struct irq_desc { @@ -84,9 +82,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> raw_spinlock_t lock; struct cpumask *percpu_enabled; const struct cpumask *percpu_affinity; +diff --git a/include/linux/random.h b/include/linux/random.h +index ed5c3838780d..723eea8f53a1 100644 --- a/include/linux/random.h +++ b/include/linux/random.h -@@ -31,7 +31,7 @@ static inline void add_latent_entropy(vo +@@ -31,7 +31,7 @@ static inline void add_latent_entropy(void) {} extern void add_input_randomness(unsigned int type, unsigned int code, unsigned int value) __latent_entropy; @@ -95,9 +95,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> extern void get_random_bytes(void *buf, int nbytes); extern int add_random_ready_callback(struct random_ready_callback *rdy); +diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c +index d3f24905852c..f87aa8fdcc51 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c -@@ -181,10 +181,16 @@ irqreturn_t handle_irq_event_percpu(stru +@@ -181,10 +181,16 @@ irqreturn_t handle_irq_event_percpu(struct irq_desc *desc) { irqreturn_t retval; unsigned int flags = 0; @@ -115,6 +117,8 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> if (!noirqdebug) note_interrupt(desc, retval); +diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c +index f08ff53596ce..9a622877711e 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -1025,6 +1025,12 @@ static int irq_thread(void *data) @@ -130,3 +134,6 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> wake_threads_waitq(desc); } +-- +2.1.4 + |