Re: [LTP] [PATCH] Add an autoconf test for presence oftaskstats.freepages_count

Subrata Modak
2009-05-22T06:52:26Z

Jiri,

Any plans to resend this ?

Regards--
Subrata

On Mon, 2009-05-18 at 17:29 +0530, Subrata Modak wrote:
> On Fri, 2009-05-15 at 12:47 +0530, Subrata Modak wrote:
> > On Wed, 2009-05-13 at 01:07 +0200, Jiri Palecek wrote:
> > > Also, use it in getdelays.c to prevent compilation failures
> > >
> > > Hello,
> > >
> > > I've found that ltp didn't compile on Debian because of old kernel headers,
> > > which contain taskstats struct without some of the needed fields. This autoconf
> > > test detects it and disables the code that would otherwise break.
> > >
> > > Regards
> > > Jiri Palecek
> > >
> > > Signed-off-by: Jiri Palecek <jpalecek@web.de>
> >
> > Same here:
> >
> > ERROR: patch seems to be corrupt (line wrapped?)
> > #132: FILE: configure.ac:24:
> > diff --git a/include/config.h.default b/include/config.h.default
> > total: 1 errors, 0 warnings, 83 lines checked
> >
> > and
> >
> > patching file configure.ac
> > patch: **** malformed patch at line 132: diff --git
> > a/include/config.h.default b/include/config.h.default
> >
>
> How about resending this Patch as well ?
>
> Regards--
> Subrata
>
> > Regards--
> > Subrata
> >
> > > ---
> > > configure.ac | 1 +
> > > include/config.h.default | 2 +
> > > m4/ltp-taskstats.m4 | 38 +++++++++++++++++++++++
> > > testcases/kernel/controllers/cgroup/getdelays.c | 15 ++++++---
> > > 4 files changed, 51 insertions(+), 5 deletions(-)
> > > create mode 100644 m4/ltp-taskstats.m4
> > >
> > > diff --git a/configure.ac b/configure.ac
> > > index c534c97..9fc1696 100644
> > > --- a/configure.ac
> > > +++ b/configure.ac
> > > @@ -20,5 +20,6 @@ LTP_CHECK_SYSCALL_MODIFY_LDT
> > > LTP_CHECK_SYSCALL_SIGNALFD
> > > LTP_CHECK_SELINUX
> > > LTP_CHECK_CRYPTO
> > > +LTP_CHECK_TASKSTATS
> > > AC_OUTPUT
> > > diff --git a/include/config.h.default b/include/config.h.default
> > > index 9125d85..b9a6731 100644
> > > --- a/include/config.h.default
> > > +++ b/include/config.h.default
> > > @@ -14,3 +14,5 @@
> > > /* ifaddrs.h is in glibc-2.3+ */
> > > #define HAVE_IFADDRS_H 1
> > > +
> > > +#define HAVE_TASKSTATS_FREEPAGES_COUNT 1
> > > diff --git a/m4/ltp-taskstats.m4 b/m4/ltp-taskstats.m4
> > > new file mode 100644
> > > index 0000000..54da783
> > > --- /dev/null
> > > +++ b/m4/ltp-taskstats.m4
> > > @@ -0,0 +1,38 @@
> > > +dnl
> > > +dnl Copyright (c) Jiri Palecek 2009
> > > +dnl
> > > +dnl This program is free software; you can redistribute it and/or modify
> > > +dnl it under the terms of the GNU General Public License as published by
> > > +dnl the Free Software Foundation; either version 2 of the License, or
> > > +dnl (at your option) any later version.
> > > +dnl
> > > +dnl This program is distributed in the hope that it will be useful,
> > > +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
> > > +dnl the GNU General Public License for more details.
> > > +dnl
> > > +dnl You should have received a copy of the GNU General Public License
> > > +dnl along with this program; if not, write to the Free Software
> > > +dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> > > +dnl
> > > +
> > > +
> > > +AC_DEFUN([LTP_CHECK_TASKSTATS],
> > > +_LTP_CHECK_TASKSTATS_FREEPAGES
> > > +)dnl
> > > +
> > > +dnl _LTP_CHECK_TASKSTATS_FREEPAGES
> > > +dnl ----------------------------------------
> > > +dnl
> > > +dnl Check for taskstat.freepages_* members, introduced to the kernel
> > > +dnl in commit 016ae219 in July 2008
> > > +dnl
> > > +
> > > +AC_DEFUN([_LTP_CHECK_TASKSTATS_FREEPAGES],
> > > +[dnl
> > > +AC_CHECK_MEMBERS([struct taskstats.freepages_count],[],[],[dnl
> > > +#include <linux/types.h>
> > > +#include <linux/taskstats.h>
> > > +])
> > > +]dnl
> > > +)dnl
> > > diff --git a/testcases/kernel/controllers/cgroup/getdelays.c
> > > b/testcases/kernel/controllers/cgroup/getdelays.c
> > > index 13f7b3a..9fe2831 100644
> > > --- a/testcases/kernel/controllers/cgroup/getdelays.c
> > > +++ b/testcases/kernel/controllers/cgroup/getdelays.c
> > > @@ -199,8 +199,10 @@ void print_delayacct(struct taskstats *t)
> > > "SWAP %15s%15s\n"
> > > " %15llu%15llu\n"
> > > "RECLAIM %12s%15s\n"
> > > - " %15llu%15llu\n",
> > > - "count", "real total", "virtual total", "delay total",
> > > +#ifdef HAVE_TASKSTATS_FREEPAGES_COUNT
> > > + " %15llu%15llu\n"
> > > +#endif
> > > + , "count", "real total", "virtual total", "delay total",
> > > (unsigned long long)t->cpu_count,
> > > (unsigned long long)t->cpu_run_real_total,
> > > (unsigned long long)t->cpu_run_virtual_total,
> > > @@ -211,9 +213,12 @@ void print_delayacct(struct taskstats *t)
> > > "count", "delay total",
> > > (unsigned long long)t->swapin_count,
> > > (unsigned long long)t->swapin_delay_total,
> > > - "count", "delay total",
> > > - (unsigned long long)t->freepages_count,
> > > - (unsigned long long)t->freepages_delay_total);
> > > + "count", "delay total"
> > > +#ifdef HAVE_TASKSTATS_FREEPAGES_COUNT
> > > + , (unsigned long long)t->freepages_count,
> > > + (unsigned long long)t->freepages_delay_total
> > > +#endif
> > > + );
> > > }
> > > void task_context_switch_counts(struct taskstats *t)
> > > --
> > > 1.6.2
> > >
> > >
> > > ------------------------------------------------------------------------------
> > > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
> > > production scanning environment may not be a perfect world - but thanks to
> > > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
> > > Series Scanner you'll get full speed at 300 dpi even with all image
> > > processing features enabled. http://p.sf.net/sfu/kodak-com
> > > _______________________________________________
> > > Ltp-list mailing list
> > > Ltp-list@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/ltp-list
> >
> >
> > ------------------------------------------------------------------------------
> > Crystal Reports - New Free Runtime and 30 Day Trial
> > Check out the new simplified licensing option that enables
> > unlimited royalty-free distribution of the report engine
> > for externally facing server and web deployment.
> > http://p.sf.net/sfu/businessobjects
> > _______________________________________________
> > Ltp-list mailing list
> > Ltp-list@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/ltp-list
>
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables
> unlimited royalty-free distribution of the report engine
> for externally facing server and web deployment.
> http://p.sf.net/sfu/businessobjects