On Fri, 2008-10-03 at 18:37 +0100, Andy Whitcroft wrote: > The default page size is returned in KB but we compare it directly > to the requested page size which is in bytes. This will lead us to > use the sysfs interface when we should be using the proc/meminfo ones > for the default page size. This will break backwards compatibility. > > As the default page size in bytes may be larger than a long (for example > when 16GB pages are the default) therefore when determinining whether > the pagesize we are probing is the default we need to be wary of errors > when converting the default. As the default page size is in KB already > it makes sense to convert the user page size and do the comparison in KB > as that is always safe. > > Signed-off-by: Andy Whitcroft <[EMAIL PROTECTED]>
Acked-by: Adam Litke <[EMAIL PROTECTED]> > --- > hugeutils.c | 8 ++++---- > 1 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/hugeutils.c b/hugeutils.c > index 3c30b41..e32f049 100644 > --- a/hugeutils.c > +++ b/hugeutils.c > @@ -211,7 +211,7 @@ static int file_write_ulong(char *file, unsigned long val) > static int select_pool_counter(unsigned int counter, unsigned long pagesize, > char *filename, char **key) > { > - long default_size; > + long default_size_kb; > char *meminfo_key; > char *sysfs_file; > > @@ -231,14 +231,14 @@ static int select_pool_counter(unsigned int counter, > unsigned long pagesize, > * between libhugetlbfs and the test suite. For now we will just > * read /proc/meminfo. > */ > - default_size = file_read_ulong("/proc/meminfo", "Hugepagesize:"); > - if (default_size < 0) { > + default_size_kb = file_read_ulong("/proc/meminfo", "Hugepagesize:"); > + if (default_size_kb < 0) { > ERROR("Cannot determine the default page size\n"); > return -1; > } > > /* If the user is dealing in the default page size, we can use /proc */ > - if (pagesize == default_size) { > + if (pagesize / 1024 == default_size_kb) { > if (meminfo_key && key) { > strcpy(filename, "/proc/meminfo"); > *key = meminfo_key; -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel