Paul Mackerras
bfe5d83419
[PATCH] Define __raw_get_cpu_var and use it
...
There are several instances of per_cpu(foo, raw_smp_processor_id()), which
is semantically equivalent to __get_cpu_var(foo) but without the warning
that smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled. For
those architectures with optimized per-cpu implementations, namely ia64,
powerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower
code than __get_cpu_var(), so it would be preferable to use __get_cpu_var
on those platforms.
This defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,
raw_smp_processor_id()) on architectures that use the generic per-cpu
implementation, and turns into __get_cpu_var(x) on the architectures that
have an optimized per-cpu implementation.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-25 10:01:01 -07:00
..
2006-06-22 22:11:30 -07:00
2005-09-09 22:11:34 +10:00
2005-09-21 19:21:08 +10:00
2006-04-26 12:56:16 +01:00
2006-01-09 15:13:08 +11:00
2006-01-09 15:13:08 +11:00
2006-02-24 14:06:02 +11:00
2005-11-11 22:25:39 +11:00
2006-06-25 10:00:59 -07:00
2006-05-24 16:08:58 +10:00
2006-01-09 15:13:08 +11:00
2006-01-09 14:49:54 +11:00
2006-03-28 20:48:54 +11:00
2005-09-09 22:11:35 +10:00
2005-09-28 15:42:53 +10:00
2006-04-26 12:56:16 +01:00
2005-11-10 13:09:22 +11:00
2006-01-09 15:13:08 +11:00
2006-02-08 01:03:46 -05:00
2006-06-22 22:11:30 -07:00
2006-02-24 14:05:56 +11:00
2006-01-09 15:13:08 +11:00
2005-10-20 20:53:39 +10:00
2006-06-21 15:01:33 +10:00
2005-08-30 13:32:05 +10:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-22 18:46:13 +10:00
2006-06-22 22:11:30 -07:00
2006-06-22 22:11:30 -07:00
2005-08-30 13:32:05 +10:00
2005-09-09 22:11:34 +10:00
2005-09-07 16:57:39 -07:00
2006-03-28 16:45:20 +11:00
2006-06-25 10:01:00 -07:00
2006-03-27 08:44:49 -08:00
2006-01-09 15:13:08 +11:00
2006-01-09 15:13:08 +11:00
2006-01-09 15:14:05 +11:00
2006-06-15 19:31:27 +10:00
2006-03-28 16:45:26 +11:00
2006-01-09 15:13:08 +11:00
2006-04-26 12:56:16 +01:00
2006-01-09 15:13:08 +11:00
2006-01-09 15:13:08 +11:00
2006-04-26 12:56:16 +01:00
2006-06-21 15:01:28 +10:00
2006-04-29 16:15:57 +10:00
2005-09-09 22:11:34 +10:00
2005-11-01 14:36:30 +11:00
2006-06-22 22:11:30 -07:00
2005-08-30 13:32:05 +10:00
2005-11-03 16:58:17 +11:00
2006-01-09 14:48:57 +11:00
2006-06-22 22:11:30 -07:00
2006-03-27 08:44:50 -08:00
2006-05-19 15:02:16 +10:00
2006-05-19 15:02:18 +10:00
2006-01-09 15:13:08 +11:00
2005-09-19 09:38:49 +10:00
2006-01-10 08:01:40 -08:00
2005-09-09 22:11:34 +10:00
2006-03-22 15:04:30 +11:00
2005-08-30 13:32:06 +10:00
2006-01-17 17:18:25 -08:00
2006-06-22 22:11:30 -07:00
2006-01-09 15:13:08 +11:00
2005-09-09 22:11:34 +10:00
2005-10-20 20:53:39 +10:00
2006-02-15 15:32:22 -08:00
2006-06-12 18:38:21 +10:00
2006-06-15 10:45:18 +10:00
2006-04-26 12:56:16 +01:00
2006-01-09 15:13:08 +11:00
2006-06-21 15:01:28 +10:00
2006-06-21 15:01:32 +10:00
2005-09-09 22:11:35 +10:00
2006-01-09 15:59:19 -08:00
2005-09-09 22:11:34 +10:00
2006-01-09 15:13:08 +11:00
2006-01-09 15:13:08 +11:00
2006-01-09 15:14:05 +11:00
2006-03-29 13:44:16 +11:00
2006-06-22 22:11:30 -07:00
2006-01-09 15:13:08 +11:00
2006-04-28 15:02:51 +10:00
2006-06-22 22:11:30 -07:00
2006-01-09 15:13:08 +11:00
2006-01-11 14:49:24 +11:00
2006-06-15 19:31:26 +10:00
2006-01-09 14:51:08 +11:00
2006-06-25 10:01:01 -07:00
2006-04-28 15:02:51 +10:00
2006-06-15 10:45:18 +10:00
2006-06-15 10:45:18 +10:00
2006-06-22 22:11:30 -07:00
2006-03-28 23:15:54 +11:00
2006-01-09 15:47:18 +11:00
2006-02-01 08:53:10 -08:00
2006-01-09 15:13:08 +11:00
2006-03-25 08:22:56 -08:00
2005-09-21 19:21:07 +10:00
2006-04-26 12:56:16 +01:00
2006-03-16 16:55:07 +11:00
2006-06-21 15:01:33 +10:00
2006-06-22 22:11:30 -07:00
2006-01-09 15:13:08 +11:00
2006-06-09 21:20:51 +10:00
2005-11-10 13:09:22 +11:00
2006-06-21 15:01:29 +10:00
2005-08-30 13:32:06 +10:00
2006-06-15 19:31:27 +10:00
2005-10-22 15:57:55 +10:00
2006-02-10 16:53:51 +11:00
2005-10-27 16:45:52 +10:00
2006-01-09 15:14:05 +11:00
2006-01-09 15:13:08 +11:00
2005-10-31 13:37:12 +11:00
2005-09-09 22:11:34 +10:00
2006-01-10 16:19:05 +11:00
2005-09-09 22:11:35 +10:00
2005-09-09 22:11:35 +10:00
2005-09-09 22:11:34 +10:00
2005-11-03 16:24:25 +11:00
2005-09-12 17:19:12 +10:00
2006-01-09 15:13:08 +11:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2005-09-09 22:11:34 +10:00
2005-09-09 22:11:34 +10:00
2006-01-09 15:13:08 +11:00
2005-09-21 19:21:09 +10:00
2006-01-13 21:18:50 +11:00
2006-06-21 15:01:32 +10:00
2006-06-21 15:01:31 +10:00
2006-06-22 22:11:30 -07:00
2005-10-28 22:48:08 +10:00
2005-11-03 16:02:23 +11:00
2005-09-21 19:21:10 +10:00
2006-03-25 09:41:40 -08:00
2006-02-24 14:06:00 +11:00
2006-03-27 14:48:22 +11:00
2006-06-21 15:01:32 +10:00
2006-03-31 02:27:06 -08:00
2006-04-29 18:07:54 +10:00
2006-05-26 11:55:46 -07:00
2005-11-01 14:36:55 +11:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-06-22 22:11:30 -07:00
2006-04-26 12:56:16 +01:00
2006-05-03 23:06:46 +10:00
2005-11-03 16:59:17 +11:00
2006-05-19 15:02:19 +10:00
2005-09-09 22:11:34 +10:00
2005-10-20 20:53:39 +10:00
2006-05-24 09:22:21 +01:00
2005-09-09 22:11:35 +10:00
2006-03-28 23:15:54 +11:00
2005-11-16 14:05:11 +11:00
2006-06-22 15:05:58 -07:00
2006-06-22 22:11:30 -07:00
2005-11-08 22:55:08 +11:00
2005-08-30 13:32:05 +10:00