Messages in this thread Patch in this message | | | From | Linus Torvalds <> | Date | Tue, 10 Jan 2012 08:49:16 -0800 | Subject | Re: [BUG] kernel freezes with latest tree |
| |
On Tue, Jan 10, 2012 at 8:37 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > Just to make sure I understood well, here is what I tested :
Yup, that was it.
That was the obvious thing about the merge to check.
I suspect that what remains is now the sparse cleanups and usecs_to_cputime64() interaction. I note that you are running on a 32-bit setup, which is where such problems would show up (because any new casts to "unsigned long" due to the forced sparse casting would now actually truncate a 64-bit value down.
Just to test that theory, can you try this attached patch that simply removes the casts? That's what we used to have before adding the stricter type-checking (other things changed too, so this may not make any difference, but this is a "test a small change to *maybe* narrow things down")
Martin - mind re-running sparse on the 32-bit case to see if that shows some messed-up case?
Linus include/asm-generic/cputime.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/asm-generic/cputime.h b/include/asm-generic/cputime.h index 9a62937c56ca..aa8bb708085b 100644 --- a/include/asm-generic/cputime.h +++ b/include/asm-generic/cputime.h @@ -7,14 +7,14 @@ typedef unsigned long __nocast cputime_t; #define cputime_one_jiffy jiffies_to_cputime(1) -#define cputime_to_jiffies(__ct) (__force unsigned long)(__ct) +#define cputime_to_jiffies(__ct) (__ct) #define cputime_to_scaled(__ct) (__ct) -#define jiffies_to_cputime(__hz) (__force cputime_t)(__hz) +#define jiffies_to_cputime(__hz) (__hz) typedef u64 __nocast cputime64_t; -#define cputime64_to_jiffies64(__ct) (__force u64)(__ct) -#define jiffies64_to_cputime64(__jif) (__force cputime64_t)(__jif) +#define cputime64_to_jiffies64(__ct) (__ct) +#define jiffies64_to_cputime64(__jif) (__jif) #define nsecs_to_cputime64(__ct) \ jiffies64_to_cputime64(nsecs_to_jiffies64(__ct)) | |