lkml.org 
[lkml]   [2008]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: Unified tracing buffer
    From
    Date
    On Mon, 2008-09-22 at 19:37 +0530, K.Prasad wrote:

    > > > INPUT_FUNCTIONS
    > > > ---------------
    > > >
    > > > allocate_buffer (name, size)
    > > > return buffer_handle
    > > >
    > > > register_event (buffer_handle, event_id, print_function)
    > > > You can pass in a requested event_id from a fixed set, and
    > > > will be given it, or an error
    > > > 0 means allocate me one dynamically
    > > > returns event_id (or -E_ERROR)
    > > >
    > > > record_event (buffer_handle, event_id, length, *buf)
    > >
    > > I'd hoped for an interface like:
    > >
    > > struct ringbuffer *ringbuffer_alloc(const char *name, size_t size);
    > > void ringbuffer_free(struct ringbuffer *buffer);
    > > int ringbuffer_write(struct ringbuffer *buffer, const char *buf, size_t size);
    > > int ringbuffer_read(struct ringbuffer *buffer, int cpu, char *buf, size_t size);
    > >
    > > On top of which you'd do the event thing, the register event with a
    > > callback idea makes sense, except I'd split the consumption into two:
    > > - one method to pull the binary event out, which knows how long it
    > > ought to be etc..
    > > - one method to convert the binary event to ASCII
    > >
    > In conjunction with the previous email on this thread
    > (http://lkml.org/lkml/2008/9/22/160), may I suggest
    > the equivalent interfaces in -mm tree (2.6.27-rc5-mm1) to be:
    >
    > relay_printk(<some struct with default filenames/pathnames>, <string>,
    > ....) ;
    > relay_dump(<some struct with default filenames/pathnames>, <binary
    > data>);
    > and
    > relay_cleanup_all(<the struct name>); - Single interface that cleans up
    > all files/directories/output data created under a logical entity.

    Dude, relayfs is such a bad performing mess that extending it seems like
    a bad idea. Better to write something new and delete everything relayfs
    related.

    Also, it seems prudent to separate the ring-buffer implementation from
    the event encoding/decoding facilities.





    \
     
     \ /
      Last update: 2008-09-22 16:49    [W:0.022 / U:2.736 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site