[PATCH 1/3] spi: added spi_resource management
Martin Sperl
kernel at martin.sperl.org
Tue Dec 1 23:30:51 PST 2015
> On 01.12.2015, at 22:04, Mark Brown <broonie at kernel.org> wrote:
>
>> On Mon, Nov 30, 2015 at 01:04:52PM +0000, kernel at martin.sperl.org wrote:
>>
>> +static struct spi_res *__spi_res_alloc(struct spi_device *spi,
>> + spi_res_release_t release,
>> + size_t size,
>> + gfp_t gfp)
>
> This has exactly one (tiny) user. Why is it a separate function?
Readability, mimicking devres code and the option of adding
object caching/reuse here later...
There is a much higher likelihood that spi_resources will be
allocated and then freed several times per second, so this
can save cpu cycles and avoid locks...
>
>> + sres = kzalloc(tot_size, gfp);
>> + if (unlikely(!sres))
>> + return NULL;
>
> Don't use likely() or unlikely() annotations unless the code is *really*
> performance critical, just let the optimiser get on with things. The
> annotations most likely cost more time in reading the code than they'll
> ever save.
Same code structure was used with devres, so I copied it.
More information about the linux-rpi-kernel
mailing list