[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1250269434.5644.15.camel@wall-e>
Date: Fri, 14 Aug 2009 19:03:54 +0200
From: Stefani Seibold <stefani@...bold.net>
To: Joe Perches <joe@...ches.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Arnd Bergmann <arnd@...db.de>,
Andi Kleen <andi@...stfloor.org>,
Amerigo Wang <xiyou.wangcong@...il.com>
Subject: Re: [PATCH 4/6] new kfifo API v0.3 - add DEFINE_KFIFO and friends,
add very tiny functions
Am Freitag, den 14.08.2009, 08:20 -0700 schrieb Joe Perches:
> On Fri, 2009-08-14 at 13:44 +0200, Stefani Seibold wrote:
>
> Couple of trivial comments
>
> > This is patch 4/6 of the new kfifo API:
> > Add KFIFO_INIT - macro to generate a kfifo initializer
>
> Is it really necessary to use KFIFO_INIT and INIT_KFIFO?
> I think it'll cause confusion and misuse.
You are right.
> > + * KFIFO_INIT - macro to generate a kfifo initializer
> > + * @s: size of the fifo buffer
> > + * @b: address of the fifo buffer
> > + */
> > +#define KFIFO_INIT(s, b) \
> > + (struct kfifo) { \
> > + .size = s, \
> > + .in = 0, \
> > + .out = 0, \
> > + .buffer = b \
> > + }
> >
> > +/**
> > + * INIT_KFIFO - macro to initialize a with DECLARE_KFIFO declared kfifo
> > + * @name: name of the declared kfifo datatype
> > + * @size: size of the fifo buffer
> > + */
> > +#define INIT_KFIFO(name) \
> > + name = KFIFO_INIT(sizeof(name##_buffer) - sizeof(struct kfifo), \
> > + name##_buffer)
>
> Perhaps
>
> #define __kfifo_initializer ?
>
I like your idea to rename into __kfifo_initializer. It is only for internal use.
>
>
> > Add INIT_KFIFO - macro to initialize a with DECLARE_KFIFO declared kfifo
>
> What does the description mean?
Exactly what it meas. If you declare a kfifo with DECLARE_KIFO than you
must initialize this fifo which INIT_KFIFO.
>
> > Add DEFINE_KFIFO - macro to define and initialize a kfifo as a global or local object
>
> What does this mean? Is scope relevant to the macro?
>
Yes, the scope is relevant, because i found no way to use unnamed unions
for global or local declarations in a way i need it.
> I think you should mention somewhere that these macros
> actually define 2 objects. "name##_buffer" might have
> unexpected clashes and be prefixed with kfifo.
> maybe something like "kfifo_##name##_buffer"?
>
Maybe name it name##_kfifo_buffer?
But before doing this i will wait for more response and for inclusion
into -mm. If i get an okay i will do a maintainance patch. It is to much
work to handle this splitted patches.
Grettings,
Stefani
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists