Peter Zijlstra
3cb4f9fa0c
lib: percpu_counter_sub
...
Hugh spotted that some code does:
percpu_counter_add(&counter, -unsignedlong)
which, when the amount argument is of type s32, sort-of works thanks to
two's-complement. However when we'd change the type to s64 this breaks on 32bit
machines, because the promotion rules zero extend the unsigned number.
Provide percpu_counter_sub() to hide the s64 cast. That is:
percpu_counter_sub(&counter, foo)
is equal to:
percpu_counter_add(&counter, -(s64)foo);
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl >
Cc: Hugh Dickins <hugh@veritas.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-10-17 08:42:44 -07:00
..
2007-10-13 14:36:18 +01:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-16 09:43:10 -07:00
2007-10-16 10:13:38 -07:00
2007-10-15 10:47:35 -07:00
2007-10-15 17:56:36 -07:00
2007-10-14 12:41:51 -07:00
2007-10-17 08:42:44 -07:00
2007-10-16 11:03:56 +02:00
2007-10-16 09:43:09 -07:00
2007-10-16 11:05:02 +02:00
2007-10-16 09:42:58 -07:00
2007-10-14 22:57:45 +02:00
2007-10-16 09:43:13 -07:00
2007-10-16 09:43:20 -07:00
2007-10-16 09:43:20 -07:00
2007-10-16 09:42:59 -07:00
2007-10-16 09:43:09 -07:00
2007-10-16 09:42:50 -07:00
2007-10-17 08:42:44 -07:00
2007-10-16 09:43:22 -07:00
2007-10-17 00:00:08 +02:00
2007-10-16 09:42:58 -07:00
2007-10-16 09:43:00 -07:00
2007-10-14 12:41:51 -07:00
2007-10-15 08:12:00 -07:00
2007-10-15 08:12:00 -07:00
2007-10-16 09:43:02 -07:00
2007-10-13 23:56:32 +02:00
2007-10-16 15:58:19 +02:00
2007-10-13 23:56:33 +02:00
2007-10-16 11:21:00 +02:00
2007-10-16 22:29:58 +02:00
2007-10-15 12:26:29 -07:00
2007-10-14 12:41:52 -07:00
2007-10-16 09:42:49 -07:00
2007-10-15 13:41:39 -07:00
2007-10-16 09:42:50 -07:00
2007-10-16 09:43:01 -07:00
2007-10-16 09:43:10 -07:00
2007-10-15 17:56:36 -07:00
2007-10-16 09:42:49 -07:00
2007-10-15 17:00:19 +02:00
2007-10-16 09:43:02 -07:00
2007-10-12 21:27:47 -04:00
2007-10-16 09:43:10 -07:00
2007-10-13 10:18:29 +02:00
2007-10-16 11:14:12 +02:00
2007-10-16 09:43:02 -07:00
2007-10-16 09:43:03 -07:00
2007-10-16 09:43:01 -07:00
2007-10-16 09:43:03 -07:00
2007-10-16 09:43:02 -07:00
2007-10-13 23:56:29 +02:00
2007-10-17 08:42:44 -07:00
2007-10-13 09:52:26 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-16 09:42:58 -07:00
2007-10-16 09:43:02 -07:00
2007-10-16 09:43:02 -07:00
2007-10-16 09:42:55 -07:00
2007-10-16 09:43:09 -07:00
2007-10-12 15:03:18 -07:00
2007-10-12 15:03:18 -07:00
2007-10-17 08:42:44 -07:00
2007-10-16 09:42:53 -07:00
2007-10-14 12:41:52 -07:00
2007-10-16 11:08:51 +02:00
2007-10-16 09:43:09 -07:00
2007-10-14 12:41:51 -07:00
2007-10-17 08:59:31 +10:00
2007-10-16 09:43:17 -07:00
2007-10-16 09:42:50 -07:00
2007-10-15 14:06:58 -07:00
2007-10-16 09:43:00 -07:00
2007-10-16 09:43:01 -07:00
2007-10-16 09:43:14 -07:00
2007-10-14 12:41:51 -07:00
2007-10-15 12:59:43 -07:00
2007-10-15 17:00:19 +02:00
2007-10-12 14:55:34 -07:00
2007-10-15 10:47:35 -07:00