[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimZ3rhX2AzPExEGfRCXiFNN-BGOWRKqL241-qNa@mail.gmail.com>
Date: Tue, 17 Aug 2010 18:59:17 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: David Miller <davem@...emloft.net>
Cc: akpm@...ux-foundation.org, sparclinux@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [GIT] Sparc
Oh,
I noticed another thing:
In commit 86fa04b8742ac681d470786f55e2403ada0075b2 you fix the return
type, but you still have the wrong _argument_ type:
extern void atomic64_add(int, atomic64_t *);
extern void atomic64_sub(int, atomic64_t *);
extern long atomic64_add_ret(int, atomic64_t *);
extern long atomic64_sub_ret(int, atomic64_t *);
note how if somebody does
atomic64_add(0x100000000ull, &x)
sparc64 will get it wrong, because it will only take the low 32 bits
of the first argument, and add zero to the 64-bit counter.
Which is definitely not what the code intended, I think.
I merged your pull request, but you've got some fixing up to do,
methinks. I also really think you need to make your rwsem's use 64-bit
values on sparc64, because otherwise you can overflow the mmap_sem by
having more than 65536 threads doing page-faults (on 32-bit, having
more than 2**16 threads in one process is unlikely to work for other
reasons, like just pure stack usage, so we don't really care about the
32-bit case)
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists