Messages in this thread | | | Subject | Re: [PATCH] [0/6] kfifo fixes/improvements | From | Andy Walls <> | Date | Wed, 30 Dec 2009 12:15:42 -0500 |
| |
On Tue, 2009-12-29 at 14:27 -0800, Dmitry Torokhov wrote: > On Dec 29, 2009, at 12:40 AM, Stefani Seibold <stefani@seibold.net> > wrote: > > > Am Montag, den 28.12.2009, 21:40 +0100 schrieb Andi Kleen: > > > > > >> OK i checked and they all use power-of-two currently so by sheer > >> luck (I doubt it is by design) they work. Still I think that > >> open deathtrap should be fixed. > >> > > > > It is fixed, and i hope it will be included in 2.6.34. > > > >> I also don't understand how that patch "breaks your future work" > >> Please elaborate on that. > >> > > > > Very difficult to explain in a email, but i will try it: > > > > The new macro based kfifo API handles everything as elements of a > > given > > type. So you can have the old "unsigned char"-fifo, but also fifo of > > every other type like int's, struct's and so on. The kfifo_in() and > > kfifo_out() len parameter is than in the meaning of elements not > > bytes. > > So you are able to process more than one value at a time and the > > macros > > will return the number of processed elements (not bytes). > > Does anyone want this kind of functionality though? Why can't we keep > the old interface as is (and maybe deprecate it) and use the new > record API you mentioned below for record-oriented kfifos.
Yes. I will eventually convert my use of kfifo to use records of size 'u32' as opposed to reading and writing in multiples of 4 bytes. (I have some ugly checks right now to make sure whenever I read from a kfifo I get back a multiple of 4 bytes.)
I'm just waiting for the churn to settle.
Regards, Andy
> Thanks.
| |