Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bc4a044 authored by Tejun Heo's avatar Tejun Heo
Browse files

Merge branch 'for-4.9' into for-4.10

parents 1001354c 2186d9f9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -499,7 +499,7 @@ int mce_available(struct cpuinfo_x86 *c)

static void mce_schedule_work(void)
{
	if (!mce_gen_pool_empty() && keventd_up())
	if (!mce_gen_pool_empty())
		schedule_work(&mce_work);
}

+0 −4
Original line number Diff line number Diff line
@@ -3929,10 +3929,6 @@ void unblank_screen(void)
 */
static void blank_screen_t(unsigned long dummy)
{
	if (unlikely(!keventd_up())) {
		mod_timer(&console_timer, jiffies + (blankinterval * HZ));
		return;
	}
	blank_timer_expired = 1;
	schedule_work(&console_work);
}
+3 −8
Original line number Diff line number Diff line
@@ -590,14 +590,6 @@ static inline bool schedule_delayed_work(struct delayed_work *dwork,
	return queue_delayed_work(system_wq, dwork, delay);
}

/**
 * keventd_up - is workqueue initialized yet?
 */
static inline bool keventd_up(void)
{
	return system_wq != NULL;
}

#ifndef CONFIG_SMP
static inline long work_on_cpu(int cpu, long (*fn)(void *), void *arg)
{
@@ -632,4 +624,7 @@ int workqueue_online_cpu(unsigned int cpu);
int workqueue_offline_cpu(unsigned int cpu);
#endif

int __init workqueue_init_early(void);
int __init workqueue_init(void);

#endif
+10 −0
Original line number Diff line number Diff line
@@ -551,6 +551,14 @@ asmlinkage __visible void __init start_kernel(void)
		 "Interrupts were enabled *very* early, fixing it\n"))
		local_irq_disable();
	idr_init_cache();

	/*
	 * Allow workqueue creation and work item queueing/cancelling
	 * early.  Work item execution depends on kthreads and starts after
	 * workqueue_init().
	 */
	workqueue_init_early();

	rcu_init();

	/* trace_printk() and trace points may be used after this */
@@ -1006,6 +1014,8 @@ static noinline void __init kernel_init_freeable(void)

	smp_prepare_cpus(setup_max_cpus);

	workqueue_init();

	do_pre_smp_initcalls();
	lockup_detector_init();

+1 −10
Original line number Diff line number Diff line
@@ -482,16 +482,7 @@ void pm_qos_update_request(struct pm_qos_request *req,
		return;
	}

	/*
	 * This function may be called very early during boot, for example,
	 * from of_clk_init(), where irq needs to stay disabled.
	 * cancel_delayed_work_sync() assumes that irq is enabled on
	 * invocation and re-enables it on return.  Avoid calling it until
	 * workqueue is initialized.
	 */
	if (keventd_up())
	cancel_delayed_work_sync(&req->work);

	__pm_qos_update_request(req, new_value);
}
EXPORT_SYMBOL_GPL(pm_qos_update_request);
Loading