On Thu, 4 Aug 2011 19:00:33 -0300 Thadeu Lima de Souza Cascardo wrote: > xv_get_total_size_bytes returns a u64 value and it's used in a division. > This causes build failures in 32-bit architectures, as reported by Randy > Dunlap. > > Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> > Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> > Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Cc: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx> > Cc: Nitin Gupta <ngupta@xxxxxxxxxx> > Cc: Greg KH <greg@xxxxxxxxx> > Cc: driverdevel <devel@xxxxxxxxxxxxxxxxxxxx> > Cc: linux-next@xxxxxxxxxxxxxxx > Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx> Thanks. > --- > drivers/staging/zcache/zcache-main.c | 7 +++++-- > 1 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/zcache/zcache-main.c b/drivers/staging/zcache/zcache-main.c > index 66469ac..2c41c44 100644 > --- a/drivers/staging/zcache/zcache-main.c > +++ b/drivers/staging/zcache/zcache-main.c > @@ -28,6 +28,7 @@ > #include <linux/spinlock.h> > #include <linux/types.h> > #include <linux/atomic.h> > +#include <linux/math64.h> > #include "tmem.h" > > #include "../zram/xvmalloc.h" /* if built in drivers/staging */ > @@ -1162,6 +1163,7 @@ static void *zcache_pampd_create(char *data, size_t size, bool raw, int eph, > uint16_t client_id = get_client_id_from_client(cli); > unsigned long zv_mean_zsize; > unsigned long curr_pers_pampd_count; > + u64 total_zsize; > > if (eph) { > ret = zcache_compress(page, &cdata, &clen); > @@ -1194,8 +1196,9 @@ static void *zcache_pampd_create(char *data, size_t size, bool raw, int eph, > } > /* reject if mean compression is too poor */ > if ((clen > zv_max_mean_zsize) && (curr_pers_pampd_count > 0)) { > - zv_mean_zsize = xv_get_total_size_bytes(cli->xvpool) / > - curr_pers_pampd_count; > + total_zsize = xv_get_total_size_bytes(cli->xvpool); > + zv_mean_zsize = div_u64(total_zsize, > + curr_pers_pampd_count); > if (zv_mean_zsize > zv_max_mean_zsize) { > zcache_mean_compress_poor++; > goto out; > -- --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel