From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Anthony PERARD" <anthony@xenproject.org>,
xen-devel@lists.xenproject.org,
"Oleksii Kurochko" <oleksii.kurochko@gmail.com>,
"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [PATCH for-4.19] tools/xen-cpuid: switch to use cpu-policy defined names
Date: Thu, 2 May 2024 14:20:28 +0200 [thread overview]
Message-ID: <76089076-e041-4bcd-921d-c7a8f0c417e3@suse.com> (raw)
In-Reply-To: <ee407b03-a1aa-4fa0-a700-71278f643489@citrix.com>
On 02.05.2024 14:14, Andrew Cooper wrote:
> On 30/04/2024 1:54 pm, Roger Pau Monné wrote:
>> On Tue, Apr 30, 2024 at 02:06:38PM +0200, Jan Beulich wrote:
>>> On 30.04.2024 13:25, Roger Pau Monné wrote:
>>>> On Tue, Apr 30, 2024 at 12:37:44PM +0200, Jan Beulich wrote:
>>>>> On 30.04.2024 10:29, Roger Pau Monne wrote:
>>>>>> @@ -301,21 +52,32 @@ static const char *const fs_names[] = {
>>>>>> [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
>>>>>> };
>>>>>>
>>>>>> -static void dump_leaf(uint32_t leaf, const char *const *strs)
>>>>>> +static const char *find_name(unsigned int index)
>>>>>> {
>>>>>> - unsigned i;
>>>>>> + static const struct feature_name {
>>>>>> + const char *name;
>>>>>> + unsigned int bit;
>>>>>> + } feature_names[] = INIT_FEATURE_NAMES;
>>>>>> + unsigned int i;
>>>>>>
>>>>>> - if ( !strs )
>>>>>> - {
>>>>>> - printf(" ???");
>>>>>> - return;
>>>>>> - }
>>>>>> + for ( i = 0; i < ARRAY_SIZE(feature_names); i++ )
>>>>>> + if ( feature_names[i].bit == index )
>>>>>> + return feature_names[i].name;
>>>>> ... a linear search, repeated perhaps hundreds of times, looks still a
>>>>> little odd to me.
>>>> I didn't benchmark what kind of performance impact this change would
>>>> have on the tool, but I didn't think it was that relevant, as this is
>>>> a diagnostic/debug tool, and hence performance (unless it took seconds
>>>> to execute) shouldn't be that important.
>>> As indicated, performance itself isn't much of a concern here. My earlier
>>> question wants reading in relation to the other question raised, regarding
>>> the script maybe wanting to produce macro(s) more suitable for the purpose
>>> here.
>> Hm, we could maybe produce an array of strings, one per feature bit
>> (features without names would get NULL).
>>
>> I will see, albeit my python skills are very limited.
>
> See how Xen's cmdline parsing uses feature_names; they're intentionally
> sorted already.
Sorted by name, when here we'd like to have it sorted by feature index.
Jan
next prev parent reply other threads:[~2024-05-02 12:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-30 8:29 [PATCH] tools/xen-cpuid: switch to use cpu-policy defined names Roger Pau Monne
2024-04-30 10:37 ` [PATCH for-4.19] " Jan Beulich
2024-04-30 11:25 ` Roger Pau Monné
2024-04-30 12:06 ` Jan Beulich
2024-04-30 12:54 ` Roger Pau Monné
2024-05-02 12:14 ` Andrew Cooper
2024-05-02 12:20 ` Jan Beulich [this message]
2024-05-02 8:54 ` Oleksii
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=76089076-e041-4bcd-921d-c7a8f0c417e3@suse.com \
--to=jbeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony@xenproject.org \
--cc=oleksii.kurochko@gmail.com \
--cc=roger.pau@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).