summaryrefslogtreecommitdiff
path: root/poky/documentation/profile-manual/usage.rst
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-04-15 23:55:55 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-04-19 16:32:18 +0300
commit3b8a17c1d70bac29dd3f1fb727716b7c2151b64a (patch)
treecc03ed84987f273db964a019f862b08a131d67fa /poky/documentation/profile-manual/usage.rst
parente34f89623c246d261efb7fd0f2ce4a30b10bd59d (diff)
downloadopenbmc-3b8a17c1d70bac29dd3f1fb727716b7c2151b64a.tar.xz
poky: subtree update:7d0988966c..1203d1f24d
Alexander Kanavin (5): mesa: update 21.0.0 -> 21.0.1 runqemu: do not stop processing graphical options after nographic mesa: gallium option requires libdrm mesa: enable dri in native/nativesdk through gallium drivers ptest-runner: correct version check Alistair Francis (2): conf/machine: Enable bochs-display on RISC-V machines conf/machine: Enable keyboard and mouse on RISC-V machines Anibal Limon (1): ptest-runner: Upgrade to 2.4.1 Awais Belal (2): perl: allow empty lines and comments in perl-rdepends.txt perl: fix creation and generate new perl-rdepends.txt Bruce Ashfield (1): perf-tests: add bash into RDEPENDS (v5.12-rc5+) Chen Qi (1): apt: Fix do_compile error when enable ccache Denys Dmytriyenko (1): make-mod-scripts: pass CROSS_COMPILE to configure and build Guillaume Champagne (1): image-live.bbclass: optional depends when ROOTFS empty Janne Kiiskila (1): poky.yaml: Use git instead of git-core for Ubunti Joshua Watt (1): bitbake.conf: Limit the number of OpenMP threads Khem Raj (3): mesa-gl: Use swrast gallium driver binutils: Fix a missing break in case statement webkitgtk: Drop include_array.patch Klaus Heinrich Kiwi (6): uboot: Deploy default symlinks with fitImage u-boot: Move definitions to common locations u-boot: Add infrastructure to SPL verified boot u-boot: Use a different Key for SPL signing oe-selftest: Add U-Boot fitImage signing testcases uboot: Fixes SPL verified boot on corner cases Matt Madison (1): libxcb: use PN for naming dynamic packages Michael Halstead (1): releases: update to include 3.2.3 Michael Opdenacker (7): manuals: Spellcheck and capitalization fixes SDK manual: fix reference to appendix Quick build: checkout a branch instead of a fixed tag manuals: Fix typos and spacing overview-manual: style improvements ref-manual: fix typo manuals: fix suspicious newlines Nicolas Dechesne (1): docs: add a top level page for bitbake documentation Paul Eggleton (16): bitbake: bitbake-user-manual: document no support for using passwords in git URLs bitbake: bitbake-user-manual: add REQUIRED_VERSION and adjust PREFERRED_VERSION entry ref-manual: add METADATA_REVISION and METADATA_BRANCH Use variables for minimum host versions and bump Python to 3.6 ref-manual: update/fix text for SDK_VERSION overview-manual: fix git command line ref-manual: and SDK_CUSTOM_TEMPLATECONF to glossary ref-manual: add REQUIRED_VERSION and adjust PREFERRED_VERSION entry ref-manual: add python3targetconfig class and remove python 2 references ref-manual: add passwd-expire to EXTRA_USERS_PARAMS ref-manual: add FIT_KERNEL_COMP_ALG* ref-manual: fix reference to build-essential ref-manual: tweak buildtools section ref-manual: add migration section for 3.3 release ref-manual: migration guide: add release codenames ref-manual: add mention of DISTUTILS_SETUP_PATH Quentin Schulz (1): docs: replace anchor links Richard Purdie (9): oeqa/concurrencytest: Rename variables to improve the code oeqa/concurrencytest: Fix display of test stdout/stderr diffoscope: Upgrade 168 -> 172 oeqa/runqemu: Support RUNQEMU_TMPFS_DIR as a location to copy snapshot images to bitbake: runqueue: Further fixes for confused setscene tasks documentation/poky.yaml: Fix latest 3.2 series tag reference poky.conf: Bump version for 3.3 hardknott release build-appliance-image: Update to master head revision bitbake: bitbake: Update version to 1.50.0 stable release series Ross Burton (2): poky.yaml: change gcc-multilib to gcc oeqa/selftest: add test case for SRC_URI dependency sniffing Ulrich Ölmann (1): sdk-manual: fix typo Yann Dirson (1): kernel-yocto: fix do_kernel_configme indentation Yi Fan Yu (2): python3: Skip failing ptests due to load variability valgrind: print failed ptest details Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: Id57d0682ec91b67b90fac931313457f5ed6f3d5c
Diffstat (limited to 'poky/documentation/profile-manual/usage.rst')
-rw-r--r--poky/documentation/profile-manual/usage.rst30
1 files changed, 15 insertions, 15 deletions
diff --git a/poky/documentation/profile-manual/usage.rst b/poky/documentation/profile-manual/usage.rst
index b401cf904..c42f5b64b 100644
--- a/poky/documentation/profile-manual/usage.rst
+++ b/poky/documentation/profile-manual/usage.rst
@@ -100,8 +100,8 @@ Using perf to do Basic Profiling
As a simple test case, we'll profile the 'wget' of a fairly large file,
which is a minimally interesting case because it has both file and
network I/O aspects, and at least in the case of standard Yocto images,
-it's implemented as part of busybox, so the methods we use to analyze it
-can be used in a very similar way to the whole host of supported busybox
+it's implemented as part of BusyBox, so the methods we use to analyze it
+can be used in a very similar way to the whole host of supported BusyBox
applets in Yocto. ::
root@crownbay:~# rm linux-2.6.19.2.tar.bz2; \
@@ -251,12 +251,12 @@ As a bit of background explanation for these callchains, think about
what happens at a high level when you run wget to get a file out on the
network. Basically what happens is that the data comes into the kernel
via the network connection (socket) and is passed to the userspace
-program 'wget' (which is actually a part of busybox, but that's not
+program 'wget' (which is actually a part of BusyBox, but that's not
important for now), which takes the buffers the kernel passes to it and
writes it to a disk file to save it.
The part of this process that we're looking at in the above call stacks
-is the part where the kernel passes the data it's read from the socket
+is the part where the kernel passes the data it has read from the socket
down to wget i.e. a copy-to-user.
Notice also that here there's also a case where the hex value is
@@ -277,16 +277,16 @@ Now that we've seen the basic layout of the profile data and the basics
of how to extract useful information out of it, let's get back to the
task at hand and see if we can get some basic idea about where the time
is spent in the program we're profiling, wget. Remember that wget is
-actually implemented as an applet in busybox, so while the process name
-is 'wget', the executable we're actually interested in is busybox. So
-let's expand the first entry containing busybox:
+actually implemented as an applet in BusyBox, so while the process name
+is 'wget', the executable we're actually interested in is BusyBox. So
+let's expand the first entry containing BusyBox:
.. image:: figures/perf-wget-busybox-expanded-stripped.png
:align: center
Again, before we expanded we saw that the function was labeled with a
hex value instead of a symbol as with most of the kernel entries.
-Expanding the busybox entry doesn't make it any better.
+Expanding the BusyBox entry doesn't make it any better.
The problem is that perf can't find the symbol information for the
busybox binary, which is actually stripped out by the Yocto build
@@ -299,7 +299,7 @@ when you build the image: ::
However, we already have an image with the binaries stripped, so
what can we do to get perf to resolve the symbols? Basically we need to
-install the debuginfo for the busybox package.
+install the debuginfo for the BusyBox package.
To generate the debug info for the packages in the image, we can add
``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example: ::
@@ -314,7 +314,7 @@ in the ``local.conf`` file: ::
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
Once we've done that, we can install the
-debuginfo for busybox. The debug packages once built can be found in
+debuginfo for BusyBox. The debug packages once built can be found in
``build/tmp/deploy/rpm/*`` on the host system. Find the busybox-dbg-...rpm
file and copy it to the target. For example: ::
@@ -325,7 +325,7 @@ Now install the debug rpm on the target: ::
root@crownbay:~# rpm -i busybox-dbg-1.20.2-r2.core2_32.rpm
-Now that the debuginfo is installed, we see that the busybox entries now display
+Now that the debuginfo is installed, we see that the BusyBox entries now display
their functions symbolically:
.. image:: figures/perf-wget-busybox-debuginfo.png
@@ -345,11 +345,11 @@ expanded all the nodes using the 'E' key):
.. image:: figures/perf-wget-busybox-dso-zoom.png
:align: center
-Finally, we can see that now that the busybox debuginfo is installed,
+Finally, we can see that now that the BusyBox debuginfo is installed,
the previously unresolved symbol in the ``sys_clock_gettime()`` entry
mentioned previously is now resolved, and shows that the
sys_clock_gettime system call that was the source of 6.75% of the
-copy-to-user overhead was initiated by the ``handle_input()`` busybox
+copy-to-user overhead was initiated by the ``handle_input()`` BusyBox
function:
.. image:: figures/perf-wget-g-copy-to-user-expanded-debuginfo.png
@@ -1580,7 +1580,7 @@ events in the output buffer: ::
root@sugarbay:/sys/kernel/debug/tracing# echo nop > current_tracer
root@sugarbay:/sys/kernel/debug/tracing# echo 1 > tracing_on
-Now, if we look at the the 'trace' file, we see nothing
+Now, if we look at the 'trace' file, we see nothing
but the kmalloc events we just turned on: ::
root@sugarbay:/sys/kernel/debug/tracing# cat trace | less
@@ -1900,7 +1900,7 @@ the target: ::
meta-toolchain
meta-ide-support
- You can also run generated qemu images with a command like 'runqemu qemux86-64'
+ You can also run generated QEMU images with a command like 'runqemu qemux86-64'
Once you've done that, you can cd to whatever
directory contains your scripts and use 'crosstap' to run the script: ::