Revert "Mark HI and TASKLET softirq synchronous"
This reverts commit 3c53776e29
.
Reverting the change to match what we have on previous Kernels.
Change-Id: I4af64cd7e2c4291dda5f503bf2d74ede459a76c6
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
This commit is contained in:
parent
bf251c4d3b
commit
ab58fa6c77
1 changed files with 4 additions and 8 deletions
|
@ -86,16 +86,12 @@ static void wakeup_softirqd(void)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If ksoftirqd is scheduled, we do not want to process pending softirqs
|
* If ksoftirqd is scheduled, we do not want to process pending softirqs
|
||||||
* right now. Let ksoftirqd handle this at its own rate, to get fairness,
|
* right now. Let ksoftirqd handle this at its own rate, to get fairness.
|
||||||
* unless we're doing some of the synchronous softirqs.
|
|
||||||
*/
|
*/
|
||||||
#define SOFTIRQ_NOW_MASK ((1 << HI_SOFTIRQ) | (1 << TASKLET_SOFTIRQ))
|
static bool ksoftirqd_running(void)
|
||||||
static bool ksoftirqd_running(unsigned long pending)
|
|
||||||
{
|
{
|
||||||
struct task_struct *tsk = __this_cpu_read(ksoftirqd);
|
struct task_struct *tsk = __this_cpu_read(ksoftirqd);
|
||||||
|
|
||||||
if (pending & SOFTIRQ_NOW_MASK)
|
|
||||||
return false;
|
|
||||||
return tsk && (tsk->state == TASK_RUNNING);
|
return tsk && (tsk->state == TASK_RUNNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -354,7 +350,7 @@ asmlinkage __visible void do_softirq(void)
|
||||||
|
|
||||||
pending = local_softirq_pending();
|
pending = local_softirq_pending();
|
||||||
|
|
||||||
if (pending && !ksoftirqd_running(pending))
|
if (pending && !ksoftirqd_running())
|
||||||
do_softirq_own_stack();
|
do_softirq_own_stack();
|
||||||
|
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
@ -381,7 +377,7 @@ void irq_enter(void)
|
||||||
|
|
||||||
static inline void invoke_softirq(void)
|
static inline void invoke_softirq(void)
|
||||||
{
|
{
|
||||||
if (ksoftirqd_running(local_softirq_pending()))
|
if (ksoftirqd_running())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!force_irqthreads) {
|
if (!force_irqthreads) {
|
||||||
|
|
Loading…
Reference in a new issue