Re: [PATCH 6/9] isdn4linux: Siemens Gigaset drivers - procfsinterface

From: Andrew Morton
Date: Tue Feb 14 2006 - 22:21:36 EST


Tilman Schmidt <tilman@xxxxxxx> wrote:
>
> > - You did the ringbuffer the wrong way. Don't constrain the head and
> > tail to be within 0..MAX_EVENTS. Instead, just let them wrap right up to
> > 0xffffffff. Apply the masking when you actually _use_ them.
> >
> > That way, empty is (head == tail) and full is (tail - head == MAX_EVENTS).
>
> Interesting idea. I have to admit it's rather new to me. I have always
> done ringbuffers the way they are done in the Gigaset driver now. Can
> you point me to some example code done the way you propose, so I can
> familiarize myself with its advantages?

Pretty much all the Becker-derived net drivers do this - Say,
vortex_private.cur_tx, .cur_tx. Also include/linux/circ_buf.h and its
various users.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/