aboutsummaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2008-10-13 23:50:10 +0200
committerRusty Russell <rusty@rustcorp.com.au>2008-10-22 10:00:26 +1100
commitc9583e55fa2b08a230c549bd1e3c0bde6c50d9cc (patch)
treeec535aced7cdf7390290a4bf61402346b166c07b /init/main.c
parentworkqueue: introduce create_rt_workqueue (diff)
downloadlinux-dev-c9583e55fa2b08a230c549bd1e3c0bde6c50d9cc.tar.xz
linux-dev-c9583e55fa2b08a230c549bd1e3c0bde6c50d9cc.zip
stop_machine: use workqueues instead of kernel threads
Convert stop_machine to a workqueue based approach. Instead of using kernel threads for stop_machine we now use a an rt workqueue to synchronize all cpus. This has the advantage that all needed per cpu threads are already created when stop_machine gets called. And therefore a call to stop_machine won't fail anymore. This is needed for s390 which needs a mechanism to synchronize all cpus without allocating any memory. As Rusty pointed out free_module() needs a non-failing stop_machine interface as well. As a side effect the stop_machine code gets simplified. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'init/main.c')
0 files changed, 0 insertions, 0 deletions