public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: chombourger@gmail.com, isar-users <isar-users@googlegroups.com>
Subject: Re: linux perf_4.19
Date: Tue, 2 Jul 2019 19:31:31 +0200	[thread overview]
Message-ID: <be1c0e11-ea1f-8d70-fb27-de634b0e3625@siemens.com> (raw)
In-Reply-To: <45064917-b93a-4cb7-80dd-833f192bde19@googlegroups.com>

On 02.07.19 14:14, chombourger@gmail.com wrote:
> I do have a kernel patch to make builddep produce a debian package for perf
> 
> I however need to clean it up before I submit it upstream. Consider the inline 
> patch below as RFC
> (tested on 4.14 and 4.19). My worry is around the hard-coded Depends (tested OK 
> on Debian 9)
> 
> Just did not get around to finalize it - sorry

Sound like a plan. That package will then act as a drop-in replacement for the 
Debian's perf package, right?

And perf is backward compatible to older kernel version, right? Asking because 
of the linux-libc-dev version check we already have in linux-custom.inc.

Jan

> 
> Index: linux-4.14.71/scripts/package/builddeb
> ===================================================================
> --- linux-4.14.71.orig/scripts/package/builddeb
> +++ linux-4.14.71/scripts/package/builddeb
> @@ -90,12 +90,23 @@ if [ -n "$KDEB_PKGVERSION" ]; then
>   else
>          packageversion=$version-$revision
>   fi
> +perf_kver="${version%%-*}"
> +case "$perf_kver" in
> +    *.*.*)
> +        perf_kver="${perf_kver%.*}"
> +        ;;
> +esac
>   sourcename=$KDEB_SOURCENAME
>   tmpdir="$objtree/debian/tmp"
>   kernel_headers_dir="$objtree/debian/hdrtmp"
>   libc_headers_dir="$objtree/debian/headertmp"
>   dbg_dir="$objtree/debian/dbgtmp"
>   packagename=linux-image-$version
> +perf_dir="$objtree/debian/perf-$perf_kver-tmp"
> +meta_perf_dir="$objtree/debian/perftmp"
> +perf_packagename=linux-perf-$perf_kver
> +meta_perf_packagename=linux-perf
> +dbg_dir="$objtree/debian/dbgtmp"
>   kernel_headers_packagename=linux-headers-$version
>   libc_headers_packagename=linux-libc-dev
>   dbg_packagename=$packagename-dbg
> @@ -125,6 +136,7 @@ BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_IN
> 
>   # Setup the directory structure
>   rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" 
> $objtree/debian/files
> +rm -rf "$meta_perf_dir" "$perf_dir"
>   mkdir -m 755 -p "$tmpdir/DEBIAN"
>   mkdir -p "$tmpdir/lib" "$tmpdir/boot"
>   mkdir -p "$kernel_headers_dir/lib/modules/$version/"
> @@ -177,6 +189,21 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_
>          fi
>   fi
> +mkdir -p $perf_dir
> +$MAKE -C tools/perf -f Makefile.perf           \
> +       DESTDIR="$(readlink -f $perf_dir)"      \
> +       srctree=$(pwd)                          \
> +       LDFLAGS=                                \
> +       prefix=/usr                             \
> +       perfexecdir=lib/perf_$perf_kver-core    \
> +       install
> +mv $perf_dir/usr/bin/perf $perf_dir/usr/bin/perf_$perf_kver
> +rm -f $perf_dir/usr/bin/trace
> +for p in $perf_dir/usr/bin/perf-*; do
> +       [ -f $p ] || continue
> +       mv $p $perf_dir/usr/lib/perf_$perf_kver-core/
> +done
> +
>   if [ "$ARCH" != "um" ]; then
>          $MAKE headers_check KBUILD_SRC=
>          $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr"
> @@ -352,12 +379,35 @@ Description: Linux support headers for u
>    are used by the installed headers for GNU glibc and other system libraries.
>   EOF
> 
> +cat <<EOF >> debian/control
> +
> +Package: $meta_perf_packagename
> +Section: devel
> +Architecture: all
> +Depends: $perf_packagename
> +Description: Performance analysis tools for Linux (meta-package)
> + This package depends on the package containing the 'perf' performance analysis
> + tools for the latest Linux kernel.
> +
> +Package: $perf_packagename
> +Section: devel
> +Architecture: any
> +Depends: libunwind8, libperl5.24, libpython2.7, binutils, libnuma1
> +Description: Performance analysis tools for Linux $KERNELRELEASE
> + This package contains the 'perf' performance analysis tools for Linux kernel
> + version $KERNELRELEASE
> +EOF
> +
>   if [ "$ARCH" != "um" ]; then
>          create_package "$kernel_headers_packagename" "$kernel_headers_dir"
>          create_package "$libc_headers_packagename" "$libc_headers_dir"
>   fi
> 
>   create_package "$packagename" "$tmpdir"
> +create_package "$perf_packagename" "$perf_dir"
> +
> +forcearch="-DArchitecture=all" \
> +create_package "$meta_perf_packagename" "$meta_perf_dir"
> 
>   if [ -n "$BUILD_DEBUG" ] ; then
>          # Build debug package
> 
> On Tuesday, July 2, 2019 at 1:38:03 PM UTC+2, Jan Kiszka wrote:
> 
>     On 02.07.19 13:30, srinuv...@gmail.com <javascript:> wrote:
>      > Hi All,
>      >
>      >                 We need to support perf tool in linux-cip 4.19 kernel, Is it
>      > available perf_4.19 in ISAR?
>      >
> 
>     Let's start differently:
> 
>     - describe the problem you are facing (Debian perf vs. perf from custom
>         kernels)
>     - describe your current downstream approach to resolve that (ideally
>         with code)
>     - ask for feedback / suggestions how to address that in Isar generically
> 
>     Jan
> 
>     -- 
>     Siemens AG, Corporate Technology, CT RDA IOT SES-DE
>     Corporate Competence Center Embedded Linux
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email 
> to isar-users+unsubscribe@googlegroups.com 
> <mailto:isar-users+unsubscribe@googlegroups.com>.
> To post to this group, send email to isar-users@googlegroups.com 
> <mailto:isar-users@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/isar-users/45064917-b93a-4cb7-80dd-833f192bde19%40googlegroups.com 
> <https://groups.google.com/d/msgid/isar-users/45064917-b93a-4cb7-80dd-833f192bde19%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

      reply	other threads:[~2019-07-02 17:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-02 11:30 srinuvasanasv
2019-07-02 11:38 ` Jan Kiszka
2019-07-02 12:14   ` chombourger
2019-07-02 17:31     ` Jan Kiszka [this message]

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=be1c0e11-ea1f-8d70-fb27-de634b0e3625@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=chombourger@gmail.com \
    --cc=isar-users@googlegroups.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