search for: stop_cpu

Displaying 9 results from an estimated 9 matches for "stop_cpu".

2010 Aug 11
0
[040/111] xen: Do not suspend IPI IRQs.
...er dpm_suspend_noirq(). Specifically I have seen a deadlock between the callfunc IPI and the stop machine used by xen''s do_suspend() routine. If one CPU has already called dpm_suspend_noirq() then there is a window where it can be sent a callfunc IPI before all the other CPUs have entered stop_cpu(). If this happens then the first CPU ends up spinning in stop_cpu() waiting for the other to rendezvous in state STOPMACHINE_PREPARE while the other is spinning in csd_lock_wait(). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: xen...
2014 Apr 16
0
Bug#744930: Failed migration from 4.3 to 4.1 crashes VM on sender
...;ffffffff810e831c>] ? kfree+0xc6/0xcb [69204.815336] [<ffffffff8100e63d>] ? xen_force_evtchn_callback+0x9/0xa [69204.815336] [<ffffffff8100ecf2>] ? check_events+0x12/0x20 [69204.815336] [<ffffffff811f3980>] ? xen_suspend+0xaf/0xc4 [69204.815336] [<ffffffff8108bd2a>] ? stop_cpu+0x83/0xc6 [69204.815336] [<ffffffff81062887>] ? worker_thread+0x188/0x21d [69204.815336] [<ffffffff8108bca7>] ? stop_cpu+0x0/0xc6 [69204.815336] [<ffffffff81065eb2>] ? autoremove_wake_function+0x0/0x2e [69204.815336] [<ffffffff810626ff>] ? worker_thread+0x0/0x21d [69204....
2008 Jul 16
2
[PATCH] stopmachine: add stopmachine_timeout v2
...ne_timeout = 200; /* msecs, arbitrary */ + static void set_state(enum stopmachine_state newstate) { /* Reset ack counter. */ - atomic_set(&thread_ack, num_threads); + atomic_set(&thread_ack, atomic_read(&num_threads)); smp_wmb(); state = newstate; } @@ -67,6 +70,8 @@ static int stop_cpu(struct stop_machine_data *smdata) enum stopmachine_state curstate = STOPMACHINE_NONE; int uninitialized_var(ret); + cpu_set(smp_processor_id(), prepared_cpus); + /* Simple state machine */ do { /* Chill out and ensure we re-read stopmachine_state. */ @@ -90,6 +95,7 @@ static int stop_c...
2008 Jul 16
2
[PATCH] stopmachine: add stopmachine_timeout v2
...ne_timeout = 200; /* msecs, arbitrary */ + static void set_state(enum stopmachine_state newstate) { /* Reset ack counter. */ - atomic_set(&thread_ack, num_threads); + atomic_set(&thread_ack, atomic_read(&num_threads)); smp_wmb(); state = newstate; } @@ -67,6 +70,8 @@ static int stop_cpu(struct stop_machine_data *smdata) enum stopmachine_state curstate = STOPMACHINE_NONE; int uninitialized_var(ret); + cpu_set(smp_processor_id(), prepared_cpus); + /* Simple state machine */ do { /* Chill out and ensure we re-read stopmachine_state. */ @@ -90,6 +95,7 @@ static int stop_c...
2008 Jul 17
1
[PATCH] stopmachine: add stopmachine_timeout v4
...ault is 0 = "never timeout" */ + static void set_state(enum stopmachine_state newstate) { /* Reset ack counter. */ - atomic_set(&thread_ack, num_threads); + atomic_set(&thread_ack, atomic_read(&num_threads)); smp_wmb(); state = newstate; } @@ -67,6 +70,8 @@ static int stop_cpu(struct stop_machine_data *smdata) enum stopmachine_state curstate = STOPMACHINE_NONE; int uninitialized_var(ret); + cpu_set(smp_processor_id(), prepared_cpus); + /* Simple state machine */ do { /* Chill out and ensure we re-read stopmachine_state. */ @@ -90,6 +95,7 @@ static int stop_c...
2008 Jul 17
1
[PATCH] stopmachine: add stopmachine_timeout v4
...ault is 0 = "never timeout" */ + static void set_state(enum stopmachine_state newstate) { /* Reset ack counter. */ - atomic_set(&thread_ack, num_threads); + atomic_set(&thread_ack, atomic_read(&num_threads)); smp_wmb(); state = newstate; } @@ -67,6 +70,8 @@ static int stop_cpu(struct stop_machine_data *smdata) enum stopmachine_state curstate = STOPMACHINE_NONE; int uninitialized_var(ret); + cpu_set(smp_processor_id(), prepared_cpus); + /* Simple state machine */ do { /* Chill out and ensure we re-read stopmachine_state. */ @@ -90,6 +95,7 @@ static int stop_c...
2012 Mar 09
10
[PATCH 0 of 9] (v2) arm: SMP boot
This patch series implements SMP boot for arch/arm, as far as getting all CPUs up and running the idle loop. Changes from v1: - moved barriers out of loop in udelay() - dropped broken GIC change in favour of explanatory comment - made the increment of ready_cpus atomic (I couldn''t move the increment to before signalling the next CPU because the PT switch has to happen between
2013 Jan 23
132
[PATCH 00/45] initial arm v8 (64-bit) support
First off, Apologies for the massive patch series... This series boots a 32-bit dom0 kernel to a command prompt on an ARMv8 (AArch64) model. The kernel is the same one as I am currently using with the 32 bit hypervisor I haven''t yet tried starting a guest or anything super advanced like that ;-). Also there is not real support for 64-bit domains at all, although in one or two places I
2013 Feb 22
48
[PATCH v3 00/46] initial arm v8 (64-bit) support
This round implements all of the review comments from V2 and all patches are now acked. Unless there are any objections I intend to apply later this morning. Ian.