isn't queue size connected to number elements in the pool?

Maxim.

On 29 March 2017 at 04:55, Brian Brooks <brian.bro...@arm.com> wrote:

> On 03/28 19:18:37, Bill Fischofer wrote:
> > <html><head><meta http-equiv="Content-Type" content="text/html;
> charset=utf-8">
>
> It is infinitely better to do patch review in plain text rather
> than HTML. I thought this was a plain text mailing list?
>
> > <meta name="Generator" content="Microsoft Exchange Server">
> > <!-- converted from text -->
> > <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt;
> border-left: #800000 2px solid; } --></style></head>
> > <body>
> > <font size="2"><span style="font-size:10pt;"><div class="PlainText">On
> Tue, Mar 28, 2017 at 2:23 PM, Brian Brooks &lt;brian.bro...@arm.com&gt;
> wrote:<br>
> > &gt; Signed-off-by: Brian Brooks &lt;brian.bro...@arm.com&gt;<br>
> > &gt; ---<br>
> > &gt;&nbsp; include/odp/api/spec/queue.h | 5 &#43;&#43;&#43;&#43;&#43;<br>
> > &gt;&nbsp; 1 file changed, 5 insertions(&#43;)<br>
> > &gt;<br>
> > &gt; diff --git a/include/odp/api/spec/queue.h
> b/include/odp/api/spec/queue.h<br>
> > &gt; index 7972feac..1cec4773 100644<br>
> > &gt; --- a/include/odp/api/spec/queue.h<br>
> > &gt; &#43;&#43;&#43; b/include/odp/api/spec/queue.h<br>
> > &gt; @@ -124,6 &#43;124,11 @@ typedef struct odp_queue_param_t {<br>
> > &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * the
> queue type. */<br>
> > &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; odp_queue_type_t
> type;<br>
> > &gt;<br>
> > &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** Queue size<br>
> > &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br>
> > &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Indicates
> the max ring size of the ring buffer. */<br>
> > &gt; &#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint32_t ring_size;<br>
> > <br>
> > ODP queues have historically been of unspecified size. If we're going<br>
> > to introduce the notion of explicitly limited sized queues this has<br>
> > additional implications.<br>
> >
> > First, ring_size is an inappropriate choice of name here since a ring<br>
> > is an implementation model, not a specification. The documentation<br>
> > says &quot;Queue size&quot;, so<br>
> > <br>
> > uint32_t size;<br>
> > <br>
> > is sufficient here.
>
> Agree, will change 'ring_size' to a better name.
>
> > We should document that size = 0 requests a queue<br>
> > of default size (which may be unbounded).<br>
>
> Unbounded size is not practical or possible. Can we agree that 0 means
> that the default aka ODP_CONFIG_QUEUE_SIZE is used? Should we allow for
> greater than ODP_CONFIG_QUEUE_SIZE? E.g. 10,000 queue depth is also not
> practical or possible. Perhaps we need a max which also acts as the
> default.
>
> > <br>
> > Second, if we're going to allow a queue size to be specified then
> this<br>
> > needs to be added as an output to odp_queue_capability()
>
> OK, will look into that.
>
> > so the<br>
> > application knows the max_size supported (again 0 = unbounded).<br>
> > <br>
> > A larger question, however, is why is this being introduced at all<br>
> > since this field is only used in the modified<br>
> > odph_cuckoo_table_create() helper routine and this, in turn, is only<br>
> > used within the cuckootable test module? This seems an extraneous and<br>
> > unnecessary change and has no relationship to the rest of this patch<br>
> > series.<br>
>
> AFAIK, the cuckoo unit test enqueues too many events (millions) to a queue.
> That sounds like it makes no sense, but is an example of how anything is
> possible.
>
> > <br>
> > So Parts 1 and 3 of this series don't seem to have anything to do
> with<br>
> > the scalable scheduler. As a minor point, the order of these needs to<br>
> > be reversed to preserve bisectability since Part 1 can't reference
> the<br>
> > new field before Part 3 defines it.<br>
>
> Agree that there are 2 independent sets of patches, but the order is needed
> in order to get a sane `make check' on ARM-based chips. Without these fixes
> going in first, we have no way of knowing whether the scalable scheduler
> patches
> caused the issue or not. I can break these into 2 separate sets of patches.
>
> > <br>
> > &gt; &#43;<br>
> > &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /** Enqueue
> mode<br>
> > &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br>
> > &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *
> Default value for both queue types is ODP_QUEUE_OP_MT. Application<br>
> > &gt; --<br>
> > &gt; 2.12.1<br>
> > &gt;<br>
> > </div></span></font>
> > </body>
> > </html>
>

Reply via email to