RE: [PATCH V9 3/6] mm: frontswap: core frontswap functionality

From: Dan Magenheimer
Date: Tue Sep 13 2011 - 16:51:18 EST


> From: Seth Jennings [mailto:sjenning@xxxxxxxxxxxxxxxxxx]
> Subject: Re: [PATCH V9 3/6] mm: frontswap: core frontswap functionality
>
> Hey Dan,
>
> I get the following compile warnings:
>
> mm/frontswap.c: In function 'init_frontswap':
> mm/frontswap.c:264:5: warning: passing argument 4 of 'debugfs_create_size_t' from incompatible pointer
> type
> include/linux/debugfs.h:68:16: note: expected 'size_t *' but argument is of type 'long unsigned int *'
> mm/frontswap.c:266:5: warning: passing argument 4 of 'debugfs_create_size_t' from incompatible pointer
> type
> include/linux/debugfs.h:68:16: note: expected 'size_t *' but argument is of type 'long unsigned int *'
> mm/frontswap.c:268:5: warning: passing argument 4 of 'debugfs_create_size_t' from incompatible pointer
> type
> include/linux/debugfs.h:68:16: note: expected 'size_t *' but argument is of type 'long unsigned int *'
> mm/frontswap.c:270:5: warning: passing argument 4 of 'debugfs_create_size_t' from incompatible pointer
> type
> include/linux/debugfs.h:68:16: note: expected 'size_t *' but argument is of type 'long unsigned int *'

Thanks for checking on 32-bit!

> size_t is platform dependent but is generally "unsigned int"
> for 32-bit and "unsigned long" for 64-bit.
>
> I think just typecasting these to size_t * would fix it.

Actually, I think the best fix is likely to change the variables
and the debugfs calls to u64 since even on 32-bit, the
counters may exceed 2**32 on a heavily-loaded long-running
system.

I'll give it a day or two to see if anyone else has any feedback
before I fix this for V10.

Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/