Benjamin Herrenschmidt 529b7307d8 powerpc: Make rwsem use "long" type
This makes the 64-bit kernel use 64-bit signed integers for the counter
(effectively supporting 32-bit of active count in the semaphore), thus
avoiding things like overflow of the mmap_sem if you use a really crazy
number of threads

Note: Ideally the type in the structure should be atomic_long_t rather
than "long". However, there's some nasty issues with that. It needs to
be initialized statically -and- lib/rwsem.c does things like

        sem->count = RWSEM_UNLOCKED_VALUE;

Now, if you mix in the fact that atomic_* types are actually structures
with one member and note typedefs of a scalar, it makes its really nasty.

So I stuck to what we did before using a long and casts for now.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-08-24 14:41:48 +10:00
..
2010-08-04 10:26:03 +10:00
2010-02-01 14:00:30 +11:00
2009-09-08 17:53:04 -07:00
2009-12-10 20:08:15 -06:00
2008-08-18 21:40:03 +02:00
2010-08-10 13:47:39 -07:00
2008-08-04 13:18:17 +10:00
2010-08-14 22:26:51 +02:00
2010-05-17 12:18:23 +03:00
2010-05-17 12:18:21 +03:00
2010-03-01 12:36:06 -03:00
2010-05-17 12:18:34 +03:00
2010-06-09 11:12:36 +02:00
2010-07-14 17:14:00 +10:00
2010-05-05 09:11:10 -04:00
2010-05-05 09:11:10 -04:00
2009-10-30 17:21:28 +11:00
2010-03-05 03:04:08 -06:00
2009-04-07 15:18:58 +10:00
2009-12-09 17:10:37 +11:00
2010-03-05 03:04:08 -06:00
2010-08-24 14:41:48 +10:00
2008-10-15 11:31:54 +11:00
2010-06-28 12:41:33 -07:00
2008-09-06 19:30:15 +01:00
2009-04-01 08:59:16 -07:00
2009-08-28 14:24:10 +10:00
2010-03-12 15:52:32 -08:00