Re: [patch 13/23] clockevents: core

From: John Kacur
Date: Tue Oct 03 2006 - 00:48:03 EST


On Sat, 2006-09-30 at 01:39 -0700, Andrew Morton wrote:
> On Fri, 29 Sep 2006 23:58:32 -0000
> Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> >
> > We have two types of clock event devices:
> > - global events (one device per system)
> > - local events (one device per cpu)
> >
> > We assign the various time(r) related interrupts to those devices:
> >
> > - global tick
> > - profiling (per cpu)
> > - next timer events (per cpu)
> >
> > architectures register their clockevent sources, with specific capability
> > masks set, and the generic high-res-timers code picks the best one,
> > without the architecture having to worry about that.
> >
> > here are the capabilities a clockevent driver can register:
> >
> > #define CLOCK_CAP_TICK 0x000001
> > #define CLOCK_CAP_UPDATE 0x000002
> > #define CLOCK_CAP_PROFILE 0x000004
> > #define CLOCK_CAP_NEXTEVT 0x000008
>
> OK.. Perhaps this info is worth promoting to a code comment.
>
> > +++ linux-2.6.18-mm2/include/linux/clockchips.h 2006-09-30 01:41:17.000000000 +0200
> > @@ -0,0 +1,104 @@
> > +/* linux/include/linux/clockchips.h
> > + *
> > + * This file contains the structure definitions for clockchips.
> > + *
> > + * If you are not a clockchip, or the time of day code, you should
> > + * not be including this file!
> > + */
> > +#ifndef _LINUX_CLOCKCHIPS_H
> > +#define _LINUX_CLOCKCHIPS_H
> > +
> > +#include <linux/config.h>
>
> The build system includes config.h for you.
>
> > +#ifdef CONFIG_GENERIC_TIME
> > +
> > +#include <linux/clocksource.h>
> > +#include <linux/interrupt.h>
> > +
> > +/* Clock event mode commands */
> > +enum {
> > + CLOCK_EVT_PERIODIC,
> > + CLOCK_EVT_ONESHOT,
> > + CLOCK_EVT_SHUTDOWN,
> > +};
> > +
> > +/* Clock event capability flags */
> > +#define CLOCK_CAP_TICK 0x000001
> > +#define CLOCK_CAP_UPDATE 0x000002
> > +#ifndef CONFIG_PROFILE_NMI
> > +# define CLOCK_CAP_PROFILE 0x000004
> > +#else
> > +# define CLOCK_CAP_PROFILE 0x000000
> > +#endif
> > +#ifdef CONFIG_HIGH_RES_TIMERS
> > +# define CLOCK_CAP_NEXTEVT 0x000008
> > +#else
> > +# define CLOCK_CAP_NEXTEVT 0x000000
> > +#endif
>
> There is no CONFIG_PROFILE_NMI in the kernel nor anywhere else in this
> patchset.
>
---SNIP----

As I've pointed out - this breaks the ability to do timer tick profiling
too.
http://marc.theaimsgroup.com/?l=linux-kernel&m=115484411119770&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=115484446530853&w=2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/