From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932953Ab1IMV7Z (ORCPT ); Tue, 13 Sep 2011 17:59:25 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:46610 "EHLO e32.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932867Ab1IMV7Y (ORCPT ); Tue, 13 Sep 2011 17:59:24 -0400 Message-ID: <4E6FD232.6030000@linux.vnet.ibm.com> Date: Tue, 13 Sep 2011 16:59:14 -0500 From: Seth Jennings User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13 MIME-Version: 1.0 To: Dan Magenheimer CC: linux-kernel@vger.kernel.org, linux-mm@kvack.org, jeremy@goop.org, hughd@google.com, ngupta@vflare.org, Konrad Wilk , JBeulich@novell.com, Kurt Hackel , npiggin@kernel.dk, akpm@linux-foundation.org, riel@redhat.com, hannes@cmpxchg.org, matthew@wil.cx, Chris Mason , kamezawa.hiroyu@jp.fujitsu.com, jackdachef@gmail.com, cyclonusj@gmail.com, levinsasha928@gmail.com Subject: Re: [PATCH V9 3/6] mm: frontswap: core frontswap functionality References: <20110913174026.GA11298@ca-server1.us.oracle.com 4E6FBFC4.1080901@linux.vnet.ibm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit x-cbid: 11091321-3270-0000-0000-000000299EAE Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/13/2011 03:50 PM, Dan Magenheimer wrote: >> From: Seth Jennings [mailto:sjenning@linux.vnet.ibm.com] >> 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. > That was going to be my other suggestion :) I thought I'd suggest the route that didn't involve you having to retype the counters. But the u64 solution is cleaner and, as Andrew pointed out, less risky. > I'll give it a day or two to see if anyone else has any feedback > before I fix this for V10. > > Dan