From: Don Slutz <dslutz@verizon.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Beniamino Galvani <b.galvani@gmail.com>,
Peter Crosthwaite <peter.crosthwaite@xilinx.com>,
"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
Don Slutz <dslutz@verizon.com>
Subject: Re: [Qemu-devel] [PATCH for-2.1 v2 0/2] Generalise FIFO to more integer types
Date: Tue, 08 Apr 2014 17:22:39 -0400 [thread overview]
Message-ID: <5344689F.3030009@terremark.com> (raw)
In-Reply-To: <878urgw5iq.fsf@blackfin.pond.sub.org>
On 04/08/14 05:10, Markus Armbruster wrote:
> Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes:
>
>> On Tue, Apr 8, 2014 at 5:14 PM, Markus Armbruster <armbru@redhat.com> wrote:
>>> Peter Crosthwaite <peter.crosthwaite@xilinx.com> writes:
>>>
>>>> There is a utility helper for dealing with 8 bit fifos. This should be
>>>> applicable to other integer widths as well. These two patches
>>>> generalise this FIFO to work for 16, 32 and 64 bit ints.
>>> Can you show us a user for the wider FIFOs?
>>>
>> Hi Markus,
>>
>> I have a couple out of tree that are incomplete and a bit out of scope
>> of this series. Rather not wait and send a complicated series spanning
>> multiple sub-systrems. I guess I could shop around for an easy lead
>> example to fix, but does the series stand in its own right?
> I don't like infrastructure without an in-tree user. Even if it's
> "only" a sensible, straightforward generalization of existing
> infrastructure.
>
> Infrastructure without a user tends to rot. Probably not a serious
> issue in this particular case.
>
> The cost of applying a change and maintaining the additional complexity
> needs to be justified by some gain. Even when the costs are small, like
> they probably are in this particular case. An in-tree user could
> probably justify easily.
I am not sure that the run time cost is the best. Looks more like c++
templates should be done via macros. Just like
include/exec/softmmu_header.h:
void glue(glue(fifo, 8), _create)(Fifo *fifo, uint32_t capacity);
void glue(glue(fifo, 8), _push)(Fifo *fifo, glue(glue(uint, 8), _t) data);
...
Also that would mean not doing the patch #1 at all.
That way all the cost is at compile time, and only the versions
currently used are generated.
-Don Slutz
next prev parent reply other threads:[~2014-04-08 21:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 2:04 [Qemu-devel] [PATCH for-2.1 v2 0/2] Generalise FIFO to more integer types Peter Crosthwaite
2014-04-08 2:04 ` [Qemu-devel] [PATCH for-2.1 v2 1/2] util/fifo: s/fifo8/fifo globally Peter Crosthwaite
2014-04-08 18:48 ` Beniamino Galvani
2014-04-09 1:50 ` Peter Crosthwaite
2014-04-08 2:05 ` [Qemu-devel] [PATCH for-2.1 v2 2/2] util/fifo: Generalise for common integer widths Peter Crosthwaite
2014-04-08 21:42 ` Beniamino Galvani
2014-04-09 1:51 ` Peter Crosthwaite
2014-04-08 7:14 ` [Qemu-devel] [PATCH for-2.1 v2 0/2] Generalise FIFO to more integer types Markus Armbruster
2014-04-08 7:24 ` Peter Crosthwaite
2014-04-08 9:10 ` Markus Armbruster
2014-04-08 21:22 ` Don Slutz [this message]
2014-04-09 0:03 ` Peter Crosthwaite
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=5344689F.3030009@terremark.com \
--to=dslutz@verizon.com \
--cc=armbru@redhat.com \
--cc=b.galvani@gmail.com \
--cc=peter.crosthwaite@xilinx.com \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.