From: Steven Rostedt <rostedt@goodmis.org>
To: Andrew Morton <akpm@osdl.org>
Cc: zanussi@us.ibm.com, jbaron@redhat.com, richardj_moore@uk.ibm.com,
varap@us.ibm.com, karim@opersys.com,
linux-kernel@vger.kernel.org
Subject: Re: Merging relayfs?
Date: Tue, 12 Jul 2005 20:08:00 -0400 [thread overview]
Message-ID: <1121213280.3548.41.camel@localhost.localdomain> (raw)
In-Reply-To: <20050712165510.7081c716.akpm@osdl.org>
On Tue, 2005-07-12 at 16:55 -0700, Andrew Morton wrote:
> Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > I will also admit that my ring buffers lost one byte per page. Because
> > I wanted to save on space with the accounting, and only had a start and
> > end pointer per page. So when start and end were equal, the buffer was
> > considered empty and when end was one less than start, it was considered
> > full. But since end always pointed to an empty spot, it would still be
> > empty when the buffer was full, thus wasting one byte per page. But to
> > solve this, I would either have to add another variable in the buffer
> > page descriptor (adding at least one byte, but probably 4 bytes) which
> > would just be more waste, or I would have to make a complex system even
> > more complex (ie. adding a flag on the end pointer at the MSB to
> > differentiate between end being empty or filled).
>
> Nope. Just make the indices 32-bit numbers and let them wrap.
>
> Full: (tail - head) == size
> Empty: (tail - head) == 0
> Add item: buf[head++ & (size-1)] = item;
> Remove item: buf[tail++ & (size-1)]
You know I knew someone would have an answer. Look for version 0.2.1
comming soon :-)
Thanks,
-- Steve
next prev parent reply other threads:[~2005-07-13 0:13 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-12 1:10 Merging relayfs? Tom Zanussi
2005-07-12 1:45 ` Andrew Morton
2005-07-12 2:17 ` Dave Airlie
2005-07-12 2:22 ` Tom Zanussi
2005-07-12 9:12 ` Baruch Even
2005-07-12 2:25 ` Christoph Hellwig
2005-07-12 2:34 ` Andrew Morton
2005-07-12 2:59 ` Karim Yaghmour
2005-07-14 13:26 ` Roman Zippel
2005-07-14 15:01 ` Tom Zanussi
2005-07-17 14:04 ` Roman Zippel
2005-07-17 15:52 ` Tom Zanussi
2005-07-18 5:17 ` Hareesh Nagarajan
2005-07-18 14:31 ` Tom Zanussi
2005-07-18 13:44 ` Steven Rostedt
2005-07-18 14:16 ` Roman Zippel
2005-07-18 14:32 ` Karim Yaghmour
2005-07-18 15:20 ` Roman Zippel
2005-07-18 15:58 ` Tom Zanussi
2005-07-22 20:43 ` Tom Zanussi
2005-07-22 23:19 ` Karim Yaghmour
2005-07-23 2:31 ` Tom Zanussi
2005-07-26 2:35 ` Karim Yaghmour
2005-07-22 20:43 ` Tom Zanussi
2005-07-18 14:36 ` Steven Rostedt
2005-07-18 15:06 ` Roman Zippel
2005-07-18 14:41 ` Tom Zanussi
2005-07-18 8:40 ` Richard J Moore
2005-07-12 13:03 ` Steven Rostedt
2005-07-12 3:05 ` Greg KH
2005-07-12 3:03 ` Karim Yaghmour
2005-07-12 3:24 ` Greg KH
2005-07-12 3:52 ` Karim Yaghmour
2005-07-12 4:30 ` Greg KH
2005-07-12 4:40 ` Karim Yaghmour
2005-07-12 5:23 ` Greg KH
2005-07-12 14:36 ` Steve Rotolo
2005-07-12 3:55 ` Tom Zanussi
2005-07-12 4:27 ` Greg KH
2005-07-12 14:01 ` Tomasz Kłoczko
2005-07-12 14:21 ` Baruch Even
2005-07-12 15:30 ` Tomasz Kłoczko
2005-07-12 15:16 ` Tom Zanussi
2005-07-12 15:44 ` Tomasz Kłoczko
2005-07-12 16:27 ` Tom Zanussi
2005-07-12 17:01 ` Tomasz Kłoczko
2005-07-12 17:23 ` Tom Zanussi
[not found] ` <Pine.BSO.4.62.0507121935500.6919@rudy.mif.pg.gda.pl>
[not found] ` <17108.1906.628755.613285@tut.ibm.com>
[not found] ` <Pine.BSO.4.62.0507122026520.6919@rudy.mif.pg.gda.pl>
[not found] ` <17108.5721.202275.377020@tut.ibm.com>
2005-07-12 19:29 ` Tomasz Kłoczko
2005-07-12 20:44 ` Vara Prasad
2005-07-12 21:02 ` Vara Prasad
2005-07-13 12:40 ` Tomasz Kłoczko
2005-07-13 15:04 ` Vara Prasad
2005-07-13 16:22 ` Tomasz Kłoczko
2005-07-13 4:29 ` Vara Prasad
2005-07-13 13:47 ` Tomasz Kłoczko
2005-07-13 15:55 ` Karim Yaghmour
2005-07-13 15:56 ` Vara Prasad
2005-07-13 16:50 ` Tomasz Kłoczko
2005-07-12 14:58 ` Jason Baron
2005-07-12 15:26 ` Tom Zanussi
2005-07-12 16:00 ` Steven Rostedt
2005-07-12 15:53 ` Steven Rostedt
2005-07-12 16:08 ` Tom Zanussi
2005-07-12 16:23 ` Steven Rostedt
2005-07-12 16:36 ` Tom Zanussi
2005-07-12 16:49 ` Steven Rostedt
2005-07-12 17:01 ` Tom Zanussi
2005-07-12 21:38 ` Tom Zanussi
2005-07-12 23:40 ` Steven Rostedt
2005-07-12 23:55 ` Andrew Morton
2005-07-13 0:08 ` Steven Rostedt [this message]
2005-07-16 21:07 ` relayfs documentation sucks? bert hubert
2005-07-16 23:13 ` Tom Zanussi
2005-07-17 9:01 ` [PATCH] " bert hubert
2005-07-17 15:43 ` Tom Zanussi
2005-07-17 19:45 ` bert hubert
2005-07-17 20:47 ` Tom Zanussi
2005-07-18 13:27 ` Steven Rostedt
2005-07-20 21:27 ` Paul Jackson
2005-07-20 21:45 ` bert hubert
2005-07-21 0:31 ` Paul Jackson
2005-07-22 20:01 ` Paul Jackson
2005-07-22 20:33 ` relayfs as infrastructure, ltt, systemtap, diskstat bert hubert
2005-07-23 18:53 ` Christoph Hellwig
2005-07-23 18:53 ` [PATCH] Re: relayfs documentation sucks? Christoph Hellwig
2005-07-25 23:47 ` Karim Yaghmour
2005-07-26 5:15 ` bert hubert
[not found] <17107.6290.734560.231978@tut.ibm.com.suse.lists.linux.kernel>
[not found] ` <20050712022537.GA26128@infradead.org.suse.lists.linux.kernel>
[not found] ` <20050711193409.043ecb14.akpm@osdl.org.suse.lists.linux.kernel>
2005-07-12 4:36 ` Merging relayfs? Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2005-07-13 8:13 Spirakis, Charles
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1121213280.3548.41.camel@localhost.localdomain \
--to=rostedt@goodmis.org \
--cc=akpm@osdl.org \
--cc=jbaron@redhat.com \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=richardj_moore@uk.ibm.com \
--cc=varap@us.ibm.com \
--cc=zanussi@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox