Home
last modified time | relevance | path

Searched hist:"72 f3bea075287785ed32b777b6dd2636aa7002e8" (Results 1 – 3 of 3) sorted by relevance

/openbmc/linux/arch/powerpc/platforms/ps3/
H A Dplatform.hdiff 72f3bea075287785ed32b777b6dd2636aa7002e8 Tue Nov 08 06:37:26 CST 2011 Geoff Levand <geoff@infradead.org> powerpc/ps3: Fix lost SMP IPIs

Fixes the PS3 bootup hang introduced in 3.0-rc1 by:

commit 317f394160e9beb97d19a84c39b7e5eb3d7815a
sched: Move the second half of ttwu() to the remote cpu

Move the PS3's LV1 EOI call lv1_end_of_interrupt_ext() from ps3_chip_eoi()
to ps3_get_irq() for IPI messages.

If lv1_send_event_locally() is called between a previous call to
lv1_send_event_locally() and the coresponding call to
lv1_end_of_interrupt_ext() the second event will not be delivered to the
target cpu.

The PS3's SMP IPIs are implemented using lv1_send_event_locally(), so if two
IPI messages of the same type are sent to the same target in a relatively
short period of time the second IPI event can become lost when
lv1_end_of_interrupt_ext() is called from ps3_chip_eoi().

CC: stable@kernel.org
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
H A Dsmp.cdiff 72f3bea075287785ed32b777b6dd2636aa7002e8 Tue Nov 08 06:37:26 CST 2011 Geoff Levand <geoff@infradead.org> powerpc/ps3: Fix lost SMP IPIs

Fixes the PS3 bootup hang introduced in 3.0-rc1 by:

commit 317f394160e9beb97d19a84c39b7e5eb3d7815a
sched: Move the second half of ttwu() to the remote cpu

Move the PS3's LV1 EOI call lv1_end_of_interrupt_ext() from ps3_chip_eoi()
to ps3_get_irq() for IPI messages.

If lv1_send_event_locally() is called between a previous call to
lv1_send_event_locally() and the coresponding call to
lv1_end_of_interrupt_ext() the second event will not be delivered to the
target cpu.

The PS3's SMP IPIs are implemented using lv1_send_event_locally(), so if two
IPI messages of the same type are sent to the same target in a relatively
short period of time the second IPI event can become lost when
lv1_end_of_interrupt_ext() is called from ps3_chip_eoi().

CC: stable@kernel.org
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
H A Dinterrupt.cdiff 72f3bea075287785ed32b777b6dd2636aa7002e8 Tue Nov 08 06:37:26 CST 2011 Geoff Levand <geoff@infradead.org> powerpc/ps3: Fix lost SMP IPIs

Fixes the PS3 bootup hang introduced in 3.0-rc1 by:

commit 317f394160e9beb97d19a84c39b7e5eb3d7815a
sched: Move the second half of ttwu() to the remote cpu

Move the PS3's LV1 EOI call lv1_end_of_interrupt_ext() from ps3_chip_eoi()
to ps3_get_irq() for IPI messages.

If lv1_send_event_locally() is called between a previous call to
lv1_send_event_locally() and the coresponding call to
lv1_end_of_interrupt_ext() the second event will not be delivered to the
target cpu.

The PS3's SMP IPIs are implemented using lv1_send_event_locally(), so if two
IPI messages of the same type are sent to the same target in a relatively
short period of time the second IPI event can become lost when
lv1_end_of_interrupt_ext() is called from ps3_chip_eoi().

CC: stable@kernel.org
Signed-off-by: Geoff Levand <geoff@infradead.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>