linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Kacur <jkacur@redhat.com>
To: RT <linux-rt-users@vger.kernel.org>,
	Clark Williams <williams@redhat.com>
Cc: root
	<root@hpe-apollo-cn99xx-15-vm-19.khw4.lab.eng.bos.redhat.com>,
	Punit Agrawal <punit1.agrawal@toshiba.co.jp>,
	John Kacur <jkacur@redhat.com>
Subject: [PATCH 2/3] rteval: Construct a 'model name' on architectures that don't have one
Date: Thu,  9 Sep 2021 09:03:13 -0400	[thread overview]
Message-ID: <20210909130314.6109-2-jkacur@redhat.com> (raw)
In-Reply-To: <20210909130314.6109-1-jkacur@redhat.com>

From: root <root@hpe-apollo-cn99xx-15-vm-19.khw4.lab.eng.bos.redhat.com>

This is based on an idea from Punit Agrawal <punit1.agrawal@toshiba.co.jp>

On architectures that lack 'model name' in /proc/cpuinfo
create 'model name' Unknown when creating the per core dictionaries
in cpuinfo

For arm, we can construct the 'model name' from the
'CPU implementer'
'CPU architecture'
'CPU variant'
'CPU part'
'CPU revision'

Suggested-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
Signed-off-by: John Kacur <jkacur@redhat.com>
---
 rteval/misc.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/rteval/misc.py b/rteval/misc.py
index 0dd361ff19fd..016fc7c4b494 100644
--- a/rteval/misc.py
+++ b/rteval/misc.py
@@ -77,6 +77,27 @@ def cpuinfo():
             info[core] = {}
             continue
         info[core][key] = val
+
+    for (core, dict) in info.items():
+        if not 'model name' in dict:
+            # On Arm CPU implementer is present
+            # Construct the model_name from the following fields
+            if 'CPU implementer' in dict:
+                model_name = [dict.get('CPU implementer')]
+                model_name.append(dict.get('CPU architecture'))
+                model_name.append(dict.get('CPU variant'))
+                model_name.append(dict.get('CPU part'))
+                model_name.append(dict.get('CPU revision', ''))
+
+                # If a list item is None, remove it
+                model_name = [name for name in model_name if name]
+
+                # Convert the model_name list into a string
+                model_name = " ".join(model_name)
+                info[core]['model name'] = model_name
+            else:
+                info[core]['model name'] = 'Unknown'
+
     return info
 
 if __name__ == "__main__":
-- 
2.31.1


  reply	other threads:[~2021-09-09 14:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09 13:03 [PATCH 1/3] rteval: Only process warnings if dmidecode_loaded is True John Kacur
2021-09-09 13:03 ` John Kacur [this message]
2021-09-09 13:03 ` [PATCH 3/3] rteval: systopology.py: Add support for systems that don't have Numa John Kacur
2021-09-13  6:02   ` Punit Agrawal
2021-09-13  5:39 ` [PATCH 1/3] rteval: Only process warnings if dmidecode_loaded is True Punit Agrawal
2021-09-09 13:10 [PATCH 2/3] rteval: Construct a 'model name' on architectures that don't have one John Kacur

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=20210909130314.6109-2-jkacur@redhat.com \
    --to=jkacur@redhat.com \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=punit1.agrawal@toshiba.co.jp \
    --cc=root@hpe-apollo-cn99xx-15-vm-19.khw4.lab.eng.bos.redhat.com \
    --cc=williams@redhat.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;
as well as URLs for NNTP newsgroup(s).