Re: [PATCH 1/2] kernel: add platform_has() infrastructure

Juergen Gross
2022-04-27T06:21:01Z

[-- Attachment #1.1.1: Type: text/plain, Size: 1053 bytes --]

On 26.04.22 19:31, Borislav Petkov wrote:
> On Tue, Apr 26, 2022 at 03:40:20PM +0200, Juergen Gross wrote:
>> diff --git a/kernel/platform-feature.c b/kernel/platform-feature.c
>> new file mode 100644
>> index 000000000000..2d52f8442cd5
>> --- /dev/null
>> +++ b/kernel/platform-feature.c
>> @@ -0,0 +1,7 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +
>> +#include <linux/cache.h>
>> +#include <linux/platform-feature.h>
>> +
>> +unsigned long __read_mostly platform_features[PLATFORM_FEAT_ARRAY_SZ];
>
> Probably __ro_after_init.

Yes, good idea.

>
>> +EXPORT_SYMBOL_GPL(platform_features);
>
> You probably should make that thing static and use only accessors to
> modify it in case you wanna change the underlying data structure in the
> future.

The question is whether we think that those platform features will be used
in hot paths or not. If so the inline accessors (at least the platform_has()
one) would be preferred IMO.

OTOH really performance critical cases could use static_branch or such.

Juergen

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3149 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]