Linus Torvalds
83d349f35e
x86: don't send an IPI to the empty set of CPU's
...
The default_send_IPI_mask_logical() function uses the "flat" APIC mode
to send an IPI to a set of CPU's at once, but if that set happens to be
empty, some older local APIC's will apparently be rather unhappy. So
just warn if a caller gives us an empty mask, and ignore it.
This fixes a regression in 2.6.30.x, due to commit 4595f9620 ("x86:
change flush_tlb_others to take a const struct cpumask"), documented
here:
http://bugzilla.kernel.org/show_bug.cgi?id=13933
which causes a silent lock-up. It only seems to happen on PPro, P2, P3
and Athlon XP cores. Most developers sadly (or not so sadly, if you're
a developer..) have more modern CPU's. Also, on x86-64 we don't use the
flat APIC mode, so it would never trigger there even if the APIC didn't
like sending an empty IPI mask.
Reported-by: Pavel Vilim <wylda@volny.cz>
Reported-and-tested-by: Thomas Björnell <thomas.bjornell@gmail.com>
Reported-and-tested-by: Martin Rogge <marogge@onlinehome.de>
Cc: Mike Travis <travis@sgi.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-08-21 09:23:57 -07:00
..
Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release
2009-06-24 01:19:50 -04:00
2009-08-21 09:23:57 -07:00
2009-08-17 13:28:25 +02:00
2009-03-10 16:24:23 +01:00
2009-07-02 18:32:05 +02:00
2009-07-01 16:52:53 +02:00
2008-11-28 15:24:39 +01:00
2009-08-04 16:34:23 +02:00
2009-06-12 22:27:03 +09:30
2009-05-11 17:44:39 -07:00
2009-04-03 19:25:57 +02:00
2009-03-15 07:03:15 +01:00
2009-06-15 21:30:25 -07:00
2008-10-20 08:52:39 -07:00
2008-10-20 08:52:39 -07:00
2009-06-15 15:20:40 +02:00
2009-04-24 10:18:51 +02:00
2009-03-13 11:57:22 +01:00
2009-04-07 13:36:36 +02:00
2009-07-01 22:37:23 +02:00
2009-07-01 22:37:23 +02:00
2009-06-25 22:06:11 +02:00
2009-04-14 11:45:33 +02:00
2009-07-08 10:30:03 -07:00
2009-03-13 02:37:18 +01:00
2009-04-08 14:16:32 +02:00
2009-08-03 13:34:25 -07:00
2009-02-25 08:27:46 +01:00
2009-02-24 18:08:40 +01:00
2009-08-09 01:08:42 -07:00
2009-06-20 10:56:46 -07:00
2009-06-18 18:40:18 -04:00
2009-06-18 18:40:18 -04:00
2009-03-14 17:23:47 -07:00
2009-03-14 15:37:14 -07:00
2009-07-27 14:18:46 -07:00
2009-06-17 21:35:10 -07:00
2008-12-12 11:08:42 +01:00
2009-06-14 18:24:29 +02:00
2008-10-20 18:27:03 +02:00
2009-03-04 20:33:16 +01:00
2009-02-10 13:13:23 +01:00
2009-06-16 19:47:27 -07:00
2009-02-23 00:08:11 +01:00
2009-06-16 19:47:28 -07:00
2009-03-21 16:57:04 +05:30
2009-03-02 12:07:48 +01:00
2009-02-24 21:52:45 +01:00
2009-02-09 12:16:05 +01:00
2009-06-11 23:31:52 +02:00
2009-07-21 21:43:22 -07:00
2008-10-28 17:10:27 +01:00
2009-03-21 16:55:45 +05:30
2009-06-10 15:49:10 -07:00
2009-04-02 00:49:02 +02:00
2009-07-03 14:34:22 +02:00
2009-04-21 13:41:47 -07:00
2009-01-02 17:46:24 +01:00
2009-05-07 22:01:05 -07:00
2009-05-07 22:01:05 -07:00
2009-07-06 13:57:03 -07:00
2009-02-23 00:08:11 +01:00
2009-07-24 08:42:52 +02:00
2009-06-07 16:35:11 +02:00
2009-06-15 21:30:25 -07:00
2009-05-12 10:36:44 +02:00
2009-03-12 13:13:07 +01:00
2009-06-12 21:47:05 +09:30
2009-05-18 09:33:29 +02:00
2009-06-15 21:30:25 -07:00
2009-02-14 23:05:25 +01:00
2009-01-30 14:51:44 -08:00
2009-01-30 14:51:44 -08:00
2009-01-20 17:14:28 +01:00
2009-06-10 16:16:27 -07:00
2009-04-14 13:03:36 +02:00
2009-07-01 18:56:16 +01:00
2009-07-08 10:30:03 -07:00
2009-04-07 08:31:11 -07:00
2009-06-22 21:38:22 -07:00
2009-01-29 14:16:51 +01:00
2009-06-10 19:53:40 -07:00
2009-06-10 19:53:40 -07:00
2009-06-15 12:40:03 +02:00
2009-04-24 10:18:52 +02:00
2009-07-14 16:25:05 +02:00
2009-06-07 12:22:15 +02:00
2009-08-10 20:59:42 +02:00
2009-03-10 18:13:25 -07:00
2009-03-10 18:13:25 -07:00
2009-03-21 16:56:37 +05:30
2009-08-14 13:20:53 +09:00
2009-07-18 13:38:29 +02:00
2009-06-11 23:31:52 +02:00
2009-06-11 23:31:52 +02:00
2009-06-12 13:50:24 +03:00
2009-06-12 23:01:05 +02:00
2008-10-22 22:55:23 -07:00
2009-04-30 21:16:49 +02:00
2009-02-23 00:08:11 +01:00
2009-03-30 22:05:14 +10:30
2009-08-15 11:58:02 +02:00
2009-03-21 16:55:24 +05:30
2009-02-13 11:35:01 -08:00
2009-02-13 11:35:01 -08:00
2008-12-08 13:49:45 +01:00
2009-06-25 22:06:11 +02:00
2009-05-07 09:32:10 +02:00
2009-08-10 19:56:57 +02:00
2009-02-17 17:52:44 +01:00
2009-04-08 14:58:10 +02:00
2009-04-22 17:41:25 +02:00
2009-03-11 09:49:01 +01:00
2009-06-10 16:15:14 -07:00
2009-08-05 10:20:29 +02:00
2009-04-21 13:41:47 -07:00
2009-08-03 14:44:54 -07:00
2009-03-25 21:34:28 +01:00
2009-05-28 14:15:54 +02:00
2009-01-16 14:20:22 +01:00
2009-04-20 14:33:00 -07:00