Hi,
--- On Fri, 1/23/09, Subrata Modak <[email protected]> wrote: > From: Subrata Modak <[email protected]> > Subject: [LTP] [PATCH 02/14] Fix Hugepages Add definitions for new functions > To: "Mark130" <[email protected]> > Cc: "ltp-list" <[email protected]>, "maknayak" <[email protected]> > Date: Friday, January 23, 2009, 3:28 PM > Signed-Off-By: Subrata > Modak<[email protected]>, > -- > diff -uprN > ltp-intermediate-20090121.orig/lib/system_specific_hugepages_info.c > ltp-intermediate-20090121/lib/system_specific_hugepages_info.c > --- > ltp-intermediate-20090121.orig/lib/system_specific_hugepages_info.c > 1970-01-01 05:30:00.000000000 +0530 > +++ > ltp-intermediate-20090121/lib/system_specific_hugepages_info.c > 2009-01-22 19:09:12.000000000 +0530 > @@ -0,0 +1,78 @@ > +/* > + * > + * Copyright (c) International Business Machines Corp., > 2009 > + * > + * This program is free software; you can redistribute > it and/or > modify > + * it under the terms of the GNU General Public License > as published > by > + * the Free Software Foundation; either version 2 of the > License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will > be useful, > + * but WITHOUT ANY WARRANTY; without even the implied > warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > See > + * the GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General > Public License > + * along with this program; if not, write to the Free > Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > MA > 02111-1307 USA > + */ > + > +/* > + * DESCRIPTION > + * get_no_of_hugepages() --> Return No. > of hugepages for > this systems > + * from > /proc/meminfo > + * hugepages_size() --> Return > Hugepages Size for > this system > + * from > /proc/meminfo > + */ > + > +#include <fcntl.h> > +#include <sys/types.h> > +#include <test.h> > + > +#define BUFSIZE 512 > + BUFSIZE is unused. The rest are using BUFSIZ. > +int get_no_of_hugepages() { > + #ifdef __linux__ > + FILE *f; > + char buf[BUFSIZ]; > + > + f = popen("grep 'HugePages_Total' > /proc/meminfo | cut -d ':' -f2 > | tr -d ' \n'", "r"); > + if (!f) { > + tst_resm(TBROK, "Could not get info > about > Total_Hugepages from /proc/meminfo"); This will give false negatives for architectures don't support hugepages yet, like s390x and perhaps PPC64. Perhaps better to have a check at the beginning. CAI Qian > + tst_exit(); > + } > + if (!fgets(buf, 10, f)) { > + fclose(f); > + tst_resm(TBROK, "Could not read > Total_Hugepages > from /proc/meminfo"); > + tst_exit(); > + } > + pclose(f); > + return(atoi(buf)); > + #else > + return -1; > + #endif > +} > + > + > +int hugepages_size() { > + #ifdef __linux__ > + FILE *f; > + char buf[BUFSIZ]; > + > + f = popen("grep 'Hugepagesize' > /proc/meminfo | cut -d ':' -f2 | > tr -d 'kB \n'", "r"); > + if (!f) { > + tst_resm(TBROK, "Could not get info > about HugePages_Size > from /proc/meminfo"); > + tst_exit(); > + } > + if (!fgets(buf, 10, f)) { > + fclose(f); > + tst_resm(TBROK, "Could not read > HugePages_Size > from /proc/meminfo"); > + tst_exit(); > + } > + pclose(f); > + return(atoi(buf)); > + #else > + return -1; > + #endif > +} > + > > > Regards-- > Subrata > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword_______________________________________________ > Ltp-list mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ltp-list ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
