From: David Laight <David.Laight@ACULAB.COM>
To: 'Laurent Pinchart' <laurent.pinchart@ideasonboard.com>,
Benjamin Gaignard <benjamin.gaignard@collabora.com>
Cc: "tfiga@chromium.org" <tfiga@chromium.org>,
"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
"mchehab@kernel.org" <mchehab@kernel.org>,
"ming.qian@nxp.com" <ming.qian@nxp.com>,
"shijie.qin@nxp.com" <shijie.qin@nxp.com>,
"eagle.zhou@nxp.com" <eagle.zhou@nxp.com>,
"bin.liu@mediatek.com" <bin.liu@mediatek.com>,
"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
"angelogioacchino.delregno@collabora.com"
<angelogioacchino.delregno@collabora.com>,
"tiffany.lin@mediatek.com" <tiffany.lin@mediatek.com>,
"andrew-ct.chen@mediatek.com" <andrew-ct.chen@mediatek.com>,
"yunfei.dong@mediatek.com" <yunfei.dong@mediatek.com>,
"stanimir.k.varbanov@gmail.com" <stanimir.k.varbanov@gmail.com>,
"quic_vgarodia@quicinc.com" <quic_vgarodia@quicinc.com>,
"agross@kernel.org" <agross@kernel.org>,
"andersson@kernel.org" <andersson@kernel.org>,
"konrad.dybcio@linaro.org" <konrad.dybcio@linaro.org>,
"ezequiel@vanguardiasur.com.ar" <ezequiel@vanguardiasur.com.ar>,
"p.zabel@pengutronix.de" <p.zabel@pengutronix.de>,
"daniel.almeida@collabora.com" <daniel.almeida@collabora.com>,
"hverkuil-cisco@xs4all.nl" <hverkuil-cisco@xs4all.nl>,
"jerbel@kernel.org" <jerbel@kernel.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
"linux-rockchip@lists.infradead.org"
<linux-rockchip@lists.infradead.org>,
"kernel@collabora.com" <kernel@collabora.com>
Subject: RE: [RFC 2/4] media: videobuf2: Replace bufs array by a list
Date: Mon, 13 Mar 2023 23:16:31 +0000 [thread overview]
Message-ID: <86df05244d974416903e919d387a0a0b@AcuMS.aculab.com> (raw)
In-Reply-To: <20230313181155.GC22646@pendragon.ideasonboard.com>
From: Laurent Pinchart
> Sent: 13 March 2023 18:12
>
> Hi Benjamin,
>
> Thank you for the patch.
>
> On Mon, Mar 13, 2023 at 02:59:14PM +0100, Benjamin Gaignard wrote:
> > Replacing bufs array by a list allows to remove the 32 buffers
> > limit per queue.
Is the limit actually a problem?
Arrays of pointers have locking and caching advantages over
linked lists.
...
> > @@ -1239,8 +1242,12 @@ static inline void vb2_clear_last_buffer_dequeued(struct vb2_queue *q)
> > static inline struct vb2_buffer *vb2_get_buffer(struct vb2_queue *q,
> > unsigned int index)
> > {
> > - if (index < q->num_buffers)
> > - return q->bufs[index];
> > + struct vb2_buffer *vb;
> > +
> > + list_for_each_entry(vb, &q->allocated_bufs, allocated_entry)
> > + if (vb->index == index)
> > + return vb;
> > +
> > return NULL;
You really don't want to be doing that....
There are schemes for unbounded arrays.
Scanning a linked list isn't a very good one.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
next prev parent reply other threads:[~2023-03-13 23:16 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-13 13:59 [RFC 0/4] Allow more than 32 vb2 buffers per queue Benjamin Gaignard
2023-03-13 13:59 ` [RFC 1/4] media: videobuf2: Use vb2_get_buffer() as helper everywhere Benjamin Gaignard
2023-03-13 16:51 ` Andrzej Pietrasiewicz
2023-03-13 16:56 ` Benjamin Gaignard
2023-03-13 18:01 ` Laurent Pinchart
2023-03-13 18:04 ` Laurent Pinchart
2023-03-13 13:59 ` [RFC 2/4] media: videobuf2: Replace bufs array by a list Benjamin Gaignard
2023-03-13 18:11 ` Laurent Pinchart
2023-03-13 23:16 ` David Laight [this message]
2023-03-14 8:55 ` Hans Verkuil
2023-03-14 10:11 ` David Laight
2023-03-14 10:42 ` Hans Verkuil
2023-03-19 23:33 ` Laurent Pinchart
2023-03-22 14:50 ` Nicolas Dufresne
2023-03-22 15:01 ` Laurent Pinchart
2023-03-24 15:14 ` Nicolas Dufresne
2023-03-24 15:18 ` Hans Verkuil
2023-03-24 15:34 ` Nicolas Dufresne
2023-03-24 20:21 ` Laurent Pinchart
2023-03-15 13:57 ` Nicolas Dufresne
2023-03-19 23:33 ` Laurent Pinchart
2023-03-13 13:59 ` [RFC 3/4] media: videobuf2: Use bitmap to manage vb2 index Benjamin Gaignard
2023-03-13 18:14 ` Laurent Pinchart
2023-03-14 2:10 ` [EXT] " Ming Qian
2023-03-13 13:59 ` [RFC 4/4] media: videobuf2: Stop define VB2_MAX_FRAME as global Benjamin Gaignard
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=86df05244d974416903e919d387a0a0b@AcuMS.aculab.com \
--to=david.laight@aculab.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=andrew-ct.chen@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=benjamin.gaignard@collabora.com \
--cc=bin.liu@mediatek.com \
--cc=daniel.almeida@collabora.com \
--cc=eagle.zhou@nxp.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=hverkuil-cisco@xs4all.nl \
--cc=jerbel@kernel.org \
--cc=kernel@collabora.com \
--cc=konrad.dybcio@linaro.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=m.szyprowski@samsung.com \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=ming.qian@nxp.com \
--cc=p.zabel@pengutronix.de \
--cc=quic_vgarodia@quicinc.com \
--cc=shijie.qin@nxp.com \
--cc=stanimir.k.varbanov@gmail.com \
--cc=tfiga@chromium.org \
--cc=tiffany.lin@mediatek.com \
--cc=yunfei.dong@mediatek.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