Re: [take2 1/4] kevent: core files.

James Morris
2006-08-01T14:27:41Z

On Tue, 1 Aug 2006, Evgeniy Polyakov wrote:

> On Tue, Aug 01, 2006 at 09:46:58AM -0400, James Morris (jmorris@namei.org) wrote:
> > On Tue, 1 Aug 2006, Evgeniy Polyakov wrote:
> >
> > > + u->ready_num = 0;
> > > +#ifdef CONFIG_KEVENT_USER_STAT
> > > + u->wait_num = u->im_num = u->total = 0;
> > > +#endif
> >
> > Generally, #ifdefs in the body of the kernel code are discouraged. Can
> > you abstract these out as static inlines?
>
> Yes, it is possible.
> I would ask is it needed at all?

Yes, please, it is standard kernel development practice.

Otherwise, the kernel will turn into an unmaintainable #ifdef jungle.

> It contains number of immediately fired
> events (i.e. those which were ready when event was added and thus
> syscall returned immediately showing that it is ready), total number of
> events, which were inserted in the given queue and number of events
> which were marked as ready after they were inserted.
> Currently it is compilation option which ends up in printk with above
> info when kevent queue is removed.

Fine, make

static inline void kevent_user_stat_reset(u);

etc.

which compile to nothing when it's not confifgured.

--
James Morris
<jmorris@namei.org>