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    [W:0.029 / U:29.796 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site