* linux perf_4.19
@ 2019-07-02 11:30 srinuvasanasv
2019-07-02 11:38 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: srinuvasanasv @ 2019-07-02 11:30 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 145 bytes --]
Hi All,
We need to support perf tool in linux-cip 4.19 kernel, Is it
available perf_4.19 in ISAR?
Many thanks,
srinuvasan.A
[-- Attachment #1.2: Type: text/html, Size: 246 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux perf_4.19
2019-07-02 11:30 linux perf_4.19 srinuvasanasv
@ 2019-07-02 11:38 ` Jan Kiszka
2019-07-02 12:14 ` chombourger
0 siblings, 1 reply; 4+ messages in thread
From: Jan Kiszka @ 2019-07-02 11:38 UTC (permalink / raw)
To: srinuvasanasv, isar-users
On 02.07.19 13:30, srinuvasanasv@gmail.com 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux perf_4.19
2019-07-02 11:38 ` Jan Kiszka
@ 2019-07-02 12:14 ` chombourger
2019-07-02 17:31 ` Jan Kiszka
0 siblings, 1 reply; 4+ messages in thread
From: chombourger @ 2019-07-02 12:14 UTC (permalink / raw)
To: isar-users
[-- Attachment #1.1: Type: text/plain, Size: 4310 bytes --]
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
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
>
[-- Attachment #1.2: Type: text/html, Size: 6360 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux perf_4.19
2019-07-02 12:14 ` chombourger
@ 2019-07-02 17:31 ` Jan Kiszka
0 siblings, 0 replies; 4+ messages in thread
From: Jan Kiszka @ 2019-07-02 17:31 UTC (permalink / raw)
To: chombourger, isar-users
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-07-02 17:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-02 11:30 linux perf_4.19 srinuvasanasv
2019-07-02 11:38 ` Jan Kiszka
2019-07-02 12:14 ` chombourger
2019-07-02 17:31 ` Jan Kiszka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox