lkml.org 
[lkml]   [2010]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: really generic, type save and type definable.
Stefani Seibold wrote:
> Am Freitag, den 28.05.2010, 09:43 +0200 schrieb Henrik Rydberg:
>> stefani@seibold.net wrote:
>> [...]
>>> The main goal was to provide an API which is very intuitive, save and easy
>>> to use. So linux will get now a powerful fifo API which provides all what
>>> a developer needs. This will save in the future a lot of kernel space, since
>>> there is no need to write an own implementation. Most of the device driver
>>> developers need a fifo, and also deep kernel development will gain benefit
>>> from this API.
>> The meaning of the term "multiple readers" referred to in the header is somewhat
>> ambiguous. It could in principle refer to concurrent reading of the same
>> position, or concurrent reading from different positions. Imaginably, those
>> cases also have different locking behavior.
>>
>> What happens if two fifos are initialized with the same memory buffer?
>>
>
> That would be a big nonsense! Tell me a real use case for such kind of
> request...

I am referring to a buffer where one thread writes data to the queue, and
several other threads read the _same_ data from the queue. Such a queue would
most likely have separate storage for the (buffer, head) on one hand, and the
tails on the other hand. I was interested in whether anyone had put any thought
into it, in particular with regard to a possible lock-less implementation.

I understand that it is not a good idea to use the same memory buffer in your
kfifo implementation, I was merely suggesting the documentation say so as well.

>
>> What about one-to-many and many-to-one cases? The input system and the logging
>> facilities could serve as examples where such buffers would be useful.
>>
>
> There is no ne-to-many and many-to-one cases since the API will handle
> this. You can not read more data then fit in the fifo, also u can not
> write more data the fifo can handle.

I am not sure is this comment means "the API will not allow it", or if we simply
got off on the wrong foot. If there is no interest in a one-to-many buffer, all
is fine. Otherwise, this thread seems like an appropriate place for such a
discussion, does it not?

Henrik


\
 
 \ /
  Last update: 2010-05-28 13:15    [from the cache]
©2003-2011 Jasper Spaans