[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cbf34cf1-e065-8136-8344-89ca1864f637@xs4all.nl>
Date: Tue, 14 Mar 2023 11:42:46 +0100
From: Hans Verkuil <hverkuil-cisco@...all.nl>
To: David Laight <David.Laight@...LAB.COM>,
'Laurent Pinchart' <laurent.pinchart@...asonboard.com>,
Benjamin Gaignard <benjamin.gaignard@...labora.com>
Cc: "tfiga@...omium.org" <tfiga@...omium.org>,
"m.szyprowski@...sung.com" <m.szyprowski@...sung.com>,
"mchehab@...nel.org" <mchehab@...nel.org>,
"ming.qian@....com" <ming.qian@....com>,
"shijie.qin@....com" <shijie.qin@....com>,
"eagle.zhou@....com" <eagle.zhou@....com>,
"bin.liu@...iatek.com" <bin.liu@...iatek.com>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"angelogioacchino.delregno@...labora.com"
<angelogioacchino.delregno@...labora.com>,
"tiffany.lin@...iatek.com" <tiffany.lin@...iatek.com>,
"andrew-ct.chen@...iatek.com" <andrew-ct.chen@...iatek.com>,
"yunfei.dong@...iatek.com" <yunfei.dong@...iatek.com>,
"stanimir.k.varbanov@...il.com" <stanimir.k.varbanov@...il.com>,
"quic_vgarodia@...cinc.com" <quic_vgarodia@...cinc.com>,
"agross@...nel.org" <agross@...nel.org>,
"andersson@...nel.org" <andersson@...nel.org>,
"konrad.dybcio@...aro.org" <konrad.dybcio@...aro.org>,
"ezequiel@...guardiasur.com.ar" <ezequiel@...guardiasur.com.ar>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>,
"daniel.almeida@...labora.com" <daniel.almeida@...labora.com>,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-mediatek@...ts.infradead.org"
<linux-mediatek@...ts.infradead.org>,
"linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"linux-rockchip@...ts.infradead.org"
<linux-rockchip@...ts.infradead.org>,
"kernel@...labora.com" <kernel@...labora.com>
Subject: Re: [RFC 2/4] media: videobuf2: Replace bufs array by a list
Hi David,
On 3/14/23 11:11, David Laight wrote:
> From: Hans Verkuil
>> Sent: 14 March 2023 08:55
> ...
>> Why not start with a dynamically allocated array of 32 vb2_buffer pointers?
>> And keep doubling the size (reallocing) whenever more buffers are needed,
>> up to some maximum (1024 would be a good initial value for that, I think).
>> This max could be even a module option.
>
> I don't know the typical uses (or the code at all).
> But it might be worth having a small array in the structure itself.
> Useful if there are typically always (say) less than 8 buffers.
> For larger sizes use the (IIRC) kmalloc_size() to find the actual
> size of the structure that will be allocate and set the array
> size appropriately.
The typical usage is that applications allocate N buffers with the
VIDIOC_REQBUFS ioctl, and in most cases that's all they use. The
current max is 32 buffers, so allocating that initially (usually
during probe()) will cover all current cases with a single one-time
kzalloc.
Only if the application wants to allocate more than 32 buffers will
there be a slight overhead.
Regards,
Hans
>
> David
>
> -
> Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
> Registration No: 1397386 (Wales)
Powered by blists - more mailing lists