Nick Piggin
95c354fe9f
spinlock: lockbreak cleanup
...
The break_lock data structure and code for spinlocks is quite nasty.
Not only does it double the size of a spinlock but it changes locking to
a potentially less optimal trylock.
Put all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a
__raw_spin_is_contended that uses the lock data itself to determine whether
there are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is
not set.
Rename need_lockbreak to spin_needbreak, make it use spin_is_contended to
decouple it from the spinlock implementation, and make it typesafe (rwlocks
do not have any need_lockbreak sites -- why do they even get bloated up
with that break_lock then?).
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:31:20 +01:00
..
2007-11-06 08:02:53 -06:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:47 -07:00
2008-01-28 23:58:27 -05:00
2007-10-19 11:53:43 -07:00
2007-10-19 11:53:37 -07:00
2007-10-17 08:42:45 -07:00
2007-12-05 09:25:20 -08:00
2008-01-25 10:12:41 +00:00
2008-01-24 20:40:05 -08:00
2008-01-25 15:05:47 -08:00
2007-10-18 14:37:29 -07:00
2008-01-24 20:40:40 -08:00
2007-05-08 11:14:59 -07:00
2008-01-24 20:40:40 -08:00
2008-01-28 15:08:07 -08:00
2007-10-22 08:13:21 -07:00
2007-10-22 08:13:21 -07:00
2008-01-28 23:58:26 -05:00
2008-01-28 23:58:26 -05:00
2008-01-28 23:58:27 -05:00
2008-01-08 16:10:35 -08:00
2007-07-20 10:11:58 +09:00
2008-01-24 20:40:40 -08:00
2008-01-25 08:39:18 -08:00
2008-01-17 15:38:58 -08:00
2007-10-17 08:42:45 -07:00
2007-10-16 09:43:07 -07:00
2007-10-17 08:42:45 -07:00
2007-02-12 09:48:47 -08:00
2007-11-14 18:45:40 -08:00
2007-10-22 08:13:21 -07:00
2008-01-30 13:31:20 +01:00
2008-01-30 13:31:20 +01:00
2007-12-04 01:35:41 -05:00
2008-01-24 16:13:21 -06:00
2008-01-30 02:06:08 -05:00
2007-10-17 08:42:53 -07:00
2007-02-12 09:48:46 -08:00
2007-10-17 08:42:45 -07:00
2008-01-30 02:06:12 -05:00
2008-01-13 09:57:57 -08:00
2007-10-18 14:37:31 -07:00
2007-11-03 12:27:21 -07:00
2008-01-28 19:10:23 -08:00
2008-01-22 18:29:20 -08:00
2008-01-24 20:40:40 -08:00
2008-01-28 15:01:36 -08:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:42:56 -07:00
2007-12-05 09:21:20 -08:00
2007-10-17 08:42:47 -07:00
2008-01-28 23:14:37 +01:00
2008-01-25 17:19:08 -08:00
2007-10-17 08:42:45 -07:00
2007-10-17 08:43:00 -07:00
2007-12-05 09:21:18 -08:00
2007-02-12 09:48:46 -08:00
2008-01-11 18:05:04 +11:00
2008-01-30 13:31:17 +01:00
2007-10-17 08:43:00 -07:00
2007-10-18 14:37:22 -07:00
2007-07-10 08:04:15 +02:00
2007-12-20 07:49:53 -08:00
2007-10-19 11:53:40 -07:00
2008-01-30 13:31:07 +01:00
2007-10-19 23:21:04 +02:00
2007-10-17 08:42:54 -07:00
2007-10-19 23:21:04 +02:00
2007-10-19 23:21:04 +02:00
2007-10-17 08:42:50 -07:00
2008-01-28 10:04:46 +01:00
2008-01-24 20:40:36 -08:00
2008-01-28 23:58:26 -05:00
2008-01-24 20:40:38 -08:00
2008-01-28 23:21:18 +01:00
2008-01-25 11:29:52 +11:00
2007-10-22 08:13:18 -07:00
2007-07-29 17:09:29 -07:00
2007-10-16 09:42:53 -07:00
2007-07-20 10:11:58 +09:00
2007-12-23 12:54:36 -08:00
2007-07-16 09:05:36 -07:00
2007-05-18 13:09:34 -07:00
2007-10-19 11:53:38 -07:00
2007-11-28 10:58:01 -08:00
2007-10-19 11:53:40 -07:00
2007-05-21 09:18:19 -07:00
2007-10-19 11:53:38 -07:00
2006-12-22 08:55:50 -08:00
2007-05-08 11:15:01 -07:00
2008-01-14 21:21:29 -08:00
2007-07-17 12:00:03 -07:00
2008-01-28 23:58:27 -05:00
2007-10-17 08:43:00 -07:00
2007-10-21 02:37:38 -04:00
2007-05-08 11:15:09 -07:00
2007-07-16 09:05:48 -07:00
2008-01-28 11:38:15 +01:00
2008-01-28 23:58:27 -05:00
2007-05-21 14:34:00 +09:00
2007-10-22 08:13:19 -07:00
2007-10-30 09:04:18 -07:00
2007-10-17 08:42:56 -07:00
2007-10-25 15:18:29 -07:00
2007-10-16 09:42:54 -07:00
2008-01-12 14:47:58 -08:00
2008-01-24 20:40:13 -08:00
2007-07-19 10:04:45 -07:00
2007-11-14 18:45:42 -08:00
2007-10-15 17:00:19 +02:00
2007-05-08 11:15:11 -07:00
2007-10-21 02:37:25 -04:00
2007-07-27 15:40:13 -07:00
2008-01-28 23:58:27 -05:00
2007-05-08 11:15:09 -07:00
2007-10-19 11:53:41 -07:00
2007-10-10 16:55:33 -07:00
2007-10-17 08:43:01 -07:00
2008-01-29 21:55:20 +01:00
2007-02-19 14:21:50 -08:00
2007-05-08 11:15:07 -07:00
2007-10-19 23:21:04 +02:00
2007-06-28 11:38:30 -07:00
2007-07-26 11:35:17 -07:00
2007-10-17 08:42:52 -07:00
2007-02-14 08:09:54 -08:00
2007-10-21 02:37:18 -04:00