From patchwork Tue Apr 27 01:24:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 456 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:e7c8:0:0:0:0:0 with SMTP id y8csp2325690oov; Tue, 27 Apr 2021 02:25:15 -0700 (PDT) X-Received: by 2002:a5d:6d0f:: with SMTP id e15mr28912643wrq.302.1619515514915; Tue, 27 Apr 2021 02:25:14 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1619515514; cv=pass; d=google.com; s=arc-20160816; b=yXulsu6ukDRbXghWx5L4tLdjG54SZzeqMcKHsM36oGF8m0mmEZk9pZf3Xg+vZsMs86 i6fiSKs8cB73ZjJjxxL7hNJKVVQ7tCBPV0t33+pybl09UuGK9ziGDuYvJEihy6e/C+RC XsOCtL8nhkBcu+usnkbZcUAgefDMgQuZ8WDFKS/nODp0l+txicGTrNqZQGRxxfVMvqsn 9g9CHDwZ1b2kFEvHAbDwygsXk6ukZdc1dS55Fan8l1e4tCJ9v5xAcua3SqeYtQzzDkJ1 W9I+RRlIqesOYMp8ohSP1ODucID4nlzPdSRffRPnK9kXFpQ6RHy21lpR6NiDubd1FTac xgyw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=K2Ix+C4DqEGHiN/qiNRZO4qt52yZGFK5ApxDZ5OhquQ=; b=J6cD7FoGrC8jSMpmrFEhZfYVZDAj7pVg0vFac9moxiNUj/B6Ej999CCn5dzszGCBf6 +2qnK3lxe0PgZnoHIT0Bo/nPsdfTGUaH7S0MYZ5+PjacDLMemu2nqMRyseC/saSqEo0M B7qtPMr4//sFX4/dYhEurrEfkxf5Ty8Ie4TlK85MlrdAoJ52X97yaM24tVgJ2zrzwLv5 D2QV4vVFNSUjG7zlgo30w9gNXsKUzUtLDD9N4tzuPf6bDAz4XMtfhyRqgjnef+thI/8q 1kPZcReRpAkrA46qt+TOue4MnIjBX7ILGqFFwPWxgIiGaT0Ogr7V7BnEWyLlnxJBhe0c XqYQ== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b="qwLH/MCI"; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbczk33mgwucrb6vqt6camgqev2lkwfy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCZK33MGWUCRB6VQT6CAMGQEV2LKWFY@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id x16sor3247925wrp.31.2021.04.27.02.25.14 (Google Transport Security); Tue, 27 Apr 2021 02:25:14 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbczk33mgwucrb6vqt6camgqev2lkwfy@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b="qwLH/MCI"; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbczk33mgwucrb6vqt6camgqev2lkwfy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCZK33MGWUCRB6VQT6CAMGQEV2LKWFY@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1619515514; cv=pass; d=google.com; s=arc-20160816; b=F1iQuY0VNDFgpDQe80iKYRhY+eKf/hjgRv90dRGRxTit1y8ghN7+fM4aI9R6X94shG t0tviy7Q5a5ND/BjEMo8LoqWme/FonqzXPyXkU7IFy817W6aXmJ/CebFRzxSIGe9ioHJ Get3IOX06JVAiIwaqDrJogeOcSLiU2mP8iP+yvtG3VbAySLSP9tNqznwyFFpP9cQdNNt wTR1zBy1m0jp293CWF4oZZr+6w+NGzLAqu3VCIhcVoJCXpGxoBuoMUPP8SAjw5kWJsA4 a2MynugikpiKm30Acjv0OE7Zh+CKelYtw6D6kOej2mdhXQbG5lqV/CT/7BXM6tq0nrQM 9ANA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=K2Ix+C4DqEGHiN/qiNRZO4qt52yZGFK5ApxDZ5OhquQ=; b=JXRj9S0mY2UeosQGJTsMisvfhJsxKzNtjsIFTK2kH+WiwoPfhNadu1wXz13FabDeZM 3JWN7bgbnEUssrOpxGaWAAVAyd19PkkqUXZjgoxvI2cUDqpBx60IgBmNQgRatroI3B92 L5BdSz2S7NHk6SguXVavgk/AFvtc2ACC8A84bbo28RTtisdG1OvaV1BGhQOMHFt6+OdG qfp9uGFYBWOrhsr4+BiasPAVm9sbJV5jgmHe1H6XMF0KnnstXmJYHV/xued8BqJvXUTf no4iHzTSsqqkaraeMGr4czWYICa6j5CVCG0g4VFMDtq2xmE9pfimV43xOtDSEbxycGc5 ivzw== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=K2Ix+C4DqEGHiN/qiNRZO4qt52yZGFK5ApxDZ5OhquQ=; b=qwLH/MCIZE03VBtPihUJckwEJlXuNtZl79qEqIw97RHkLLKeKyxQxChZPOGwyARo/V Bdpr3rGSvZ3uQEinZB6BH/6qN3f+FgOiWFVsJKvAHxb4r0bu8WEZsZOM9akXCDjN9Vv2 gbTJ4Hrx52lTnw14iWArvWWhcGLurBwb6QovFYKaqfWicoDwbvNAqlnjGsiR/tmvCCcg 1X4/UOgQgm6kFm/yg8YwQl3J4lUXPzFFG+CCm9MjJKueiyy80uJKJJ0Vma27uqxR0Q45 yTMRXm1t2q0pHEOG2EROu8cjn5CpGJPJokQsG7lnLrMqXU1xUnV1W8/lZaiY7rwjbbyV usAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=K2Ix+C4DqEGHiN/qiNRZO4qt52yZGFK5ApxDZ5OhquQ=; b=Rl+5LXTgmHxIzAUWVljum1+ZQQrTg8/de0bOhASR8peCfMeo4y5mKk2uxNellK+nQj CgyyYYRxPHshy9gjt8h4mBA2MByfIqDTrjzxsevM9w6MVfNA1CrUbwpqxvb4gFjK1TOq ktqtKI+Yv80wW14S0nLFJR87P99A4JmSGwZjyyyuXaqq7cJfF7I8VxXugwSipdzfU31s yMBf+wd7u0V1mDEEQbXGr+3+VoJbau2xzT+UfG07FXEp67W0/UibKWU9XweqiI3QWCwC LGKSjIeprvBL0PyEdTwbXrTWODi757Hcxku1cBJrqXou1jh9BL3fcNZWdMHUeE7Fmakd Vi/w== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM533i33JiJgo8xeHuwwu4nm3sdaunHNeO/OlHGIjey1WjqwH4xVb3 OUi1ufwtw0DkksaVCS5dc5A= X-Google-Smtp-Source: ABdhPJxyZhXr7rGErLPXreesiah0AVcElMqIqir+Dx3t/SAqT9Xfip4Ra6EB5qJlc5hCvDG7edjmzw== X-Received: by 2002:adf:fecd:: with SMTP id q13mr28000225wrs.7.1619515514288; Tue, 27 Apr 2021 02:25:14 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:fb47:: with SMTP id c7ls5173306wrs.0.gmail; Tue, 27 Apr 2021 02:25:13 -0700 (PDT) X-Received: by 2002:adf:9042:: with SMTP id h60mr28038644wrh.362.1619515513603; Tue, 27 Apr 2021 02:25:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619515513; cv=none; d=google.com; s=arc-20160816; b=gNZLsv8Zhn70qSJX4O22HD1jP3yxbx2hLV8uBgPRcN92RbAPjW0FyFER5Ka4veqMZD 3ZU5Bx8QmVymQp9iQ9N3X2V2pho/12ZKi3TcUwPUGceaFnCcA3uPGd51AO1f8smNKaKV bcCmkcanGB8dwN9qAVXeFq0bgGg23l78/Vh+2URu63i4kL6rbL8IrsUajphVcaGo0p1o DCGUT1ZyTZzozq70BxDqd/9BceC67SsCQRtDG+b6gvhtMeI7IGnWyaUO1pLLQ9MY+Rnm kRJ8W9YlBxGQRd49fdrjWDjH6bES5PcP3usgYlBGy+av6883Rz/cSROOo61tiZ7LQxrJ 37cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=nIzFCX2XAvu0K+mTL79TxuwLFkbWdHbTPwvabLmd8sA=; b=mtUjqhDTKJ0a1DB7tqNMG4Rhudxli5YZEpoD5KGfgd4ASKlkyynFk3hjHi70AfZBWp negjNeDuReJVCPiC3a3ejoT3Picfws6INgg1+mp1oRhSSTG8lJJIUcv/fe33oIg1ia5x l/kIufzOP08f6VZF8n/R967cN+iNhq7p3yA4WjgoKrycVrXIKWd8JqH9MUg3x4AsfIO7 yXuI1Q7V/LLL5qYOLALmHQ+IKqRhpmEzYyZk6IXKLYAVxu7oebSHYSNDbaSYV4ECdSa2 jRmysxAIbZQENVDdB5/923wyjbA0fWdyag/NDt3qcLnQBnrchyjgnJgExzVOj3ERRWI7 Wpmg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id p65si132360wmp.0.2021.04.27.02.25.13 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 Apr 2021 02:25:13 -0700 (PDT) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 13R9PCaV024649 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 27 Apr 2021 11:25:13 +0200 Received: from MD1T0KAC-VM.ad001.siemens.net (md1t0kac.ad001.siemens.net [139.25.0.7]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 13R9P5qb006138; Tue, 27 Apr 2021 11:25:12 +0200 From: Felix Moessbauer To: isar-users@googlegroups.com, amikan@ilbers.de, jan.kiszka@siemens.com Cc: henning.schild@siemens.com, Felix Moessbauer Subject: [PATCH v2 2/2] Add wrapper to load correct python perf module based on kernel Date: Tue, 27 Apr 2021 11:24:58 +0200 Message-Id: <20210427092458.4261-3-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <4d3f03d0-817a-4815-1a37-ce91388463ab@ilbers.de> References: <4d3f03d0-817a-4815-1a37-ce91388463ab@ilbers.de> MIME-Version: 1.0 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1698185100715651108?= X-GMAIL-MSGID: =?utf-8?q?1698185100715651108?= This patch adds a wrapper around the versioned python bindings of perf. The wrapper takes care of detecting the current kernel version and loading the perf_ module. Then, it mapps this module to just perf, so downstream python modules just have to `import perf` instead of the versioned version. Signed-off-by: Felix Moessbauer --- .../files/debian/linux-base.install | 6 +++++ .../files/lib/python3/dist-packages/perf.py | 23 +++++++++++++++++ .../recipes-core/linux-base/linux-base_4.6.bb | 25 +++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 meta-isar/recipes-core/linux-base/files/debian/linux-base.install create mode 100644 meta-isar/recipes-core/linux-base/files/lib/python3/dist-packages/perf.py create mode 100644 meta-isar/recipes-core/linux-base/linux-base_4.6.bb diff --git a/meta-isar/recipes-core/linux-base/files/debian/linux-base.install b/meta-isar/recipes-core/linux-base/files/debian/linux-base.install new file mode 100644 index 0000000..b94175d --- /dev/null +++ b/meta-isar/recipes-core/linux-base/files/debian/linux-base.install @@ -0,0 +1,6 @@ +bin/linux-check-removal usr/bin +bin/linux-update-symlinks usr/bin +bin/linux-version usr/bin +bin/perf usr/bin +lib/DebianLinux.pm usr/share/perl5 +lib/python3/dist-packages/perf.py usr/lib/python3/dist-packages/ diff --git a/meta-isar/recipes-core/linux-base/files/lib/python3/dist-packages/perf.py b/meta-isar/recipes-core/linux-base/files/lib/python3/dist-packages/perf.py new file mode 100644 index 0000000..26d3e81 --- /dev/null +++ b/meta-isar/recipes-core/linux-base/files/lib/python3/dist-packages/perf.py @@ -0,0 +1,23 @@ +#!/usr/bin/python3 +# Wrapper to load the kernel-specific version +# of the python perf module + +import platform + +uname = platform.uname().release +kvers = uname.split('.') + +if len(kvers) < 2: + raise RuntimeError('Could not detect kernel version in: {}'.format(kvers)) +try: + perf = __import__('perf_{}_{}'.format(kvers[0], kvers[1])) + symbols = [symbol for symbol in perf.__dict__ if not symbol.startswith("_")] + globals().update({symbol: getattr(perf, symbol) for symbol in symbols}) + del perf + del symbols +except ModuleNotFoundError: + raise ModuleNotFoundError('perf package not found. Install debian package linux-perf-{}.{}'.format(kvers[0],kvers[1])) + +del platform +del uname +del kvers diff --git a/meta-isar/recipes-core/linux-base/linux-base_4.6.bb b/meta-isar/recipes-core/linux-base/linux-base_4.6.bb new file mode 100644 index 0000000..178e4cb --- /dev/null +++ b/meta-isar/recipes-core/linux-base/linux-base_4.6.bb @@ -0,0 +1,25 @@ +# Patched version of linux-base that includes perf python wrapper +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2021 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +SRC_URI = " \ + apt://${PN} \ + file://lib/python3/dist-packages/perf.py \ + file://debian/linux-base.install \ + " + +MAINTAINER ?= "isar-users " +CHANGELOG_V ?= "+isar" + +do_prepare_build() { + mkdir -p ${S}/lib/python3/dist-packages + cp -r ${WORKDIR}/lib ${S} + cp -r ${WORKDIR}/debian ${S} + cd ${S} + deb_add_changelog +}