Re: [GIT PULL] workqueue fixes for v4.3-rc5
From: Mike Galbraith
Date: Sun Oct 18 2015 - 23:52:37 EST
On Wed, 2015-10-14 at 16:24 -0400, Tejun Heo wrote:
> But in terms of API consistency, it sucks to have queue_work()
> guarantee local queueing but not queue_delayed_work(). The ideal
> situation would be updating both so that neither guarantees.
You don't have to change anything to have neither guarantee local
queueing. Called from a preemptible context, local means any CPU in
->cpus_allowed... which makes WORK_CPU_UNBOUND mean what one would
imagine WORK_CPU_UNBOUND to mean, not bound to any particular cpu.
sh-16017 3.N.. 1510500545us : queue_work_on: golly, migrated cpu7 -> cpu3 -- target cpu8
sh-16017 3.N.. 1510500550us : <stack trace>
=> tty_flip_buffer_push
=> pty_write
=> n_tty_write
=> tty_write
=> __vfs_write
=> vfs_write
=> SyS_write
=> entry_SYSCALL_64_fastpath
That was with a udelay(100) prior to disabling interrupts, but that just
makes it easier.
-Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/