diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2021-03-23 17:58:45 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-04-06 22:29:49 +0100 |
commit | c643a4749c436baeb6943fe960f77a48deaef8e5 (patch) | |
tree | e79fda634aed23f488fedff8f74a0f2b321f28f9 /documentation/profile-manual | |
parent | 07c7bdc6c24974dfd4fdc50d142a5d2049966f5f (diff) | |
download | poky-c643a4749c436baeb6943fe960f77a48deaef8e5.tar.gz |
manuals: Spellcheck and capitalization fixes
- Spelling fixes found using Emacs' spelling checker
configured for US English
- Fixes for some capitalization issues, especially some
project names (QEMU, openSUSE, BusyBox), that were not
consistently used with the same capitalization anyway.
- A few whitespace fixes too
(From yocto-docs rev: 05d69f17490dcc4933dcd85e57d9db53b912084a)
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/profile-manual')
-rw-r--r-- | documentation/profile-manual/usage.rst | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/documentation/profile-manual/usage.rst b/documentation/profile-manual/usage.rst index b401cf9040..fd6da6fc41 100644 --- a/documentation/profile-manual/usage.rst +++ b/documentation/profile-manual/usage.rst | |||
@@ -100,8 +100,8 @@ Using perf to do Basic Profiling | |||
100 | As a simple test case, we'll profile the 'wget' of a fairly large file, | 100 | As a simple test case, we'll profile the 'wget' of a fairly large file, |
101 | which is a minimally interesting case because it has both file and | 101 | which is a minimally interesting case because it has both file and |
102 | network I/O aspects, and at least in the case of standard Yocto images, | 102 | network I/O aspects, and at least in the case of standard Yocto images, |
103 | it's implemented as part of busybox, so the methods we use to analyze it | 103 | it's implemented as part of BusyBox, so the methods we use to analyze it |
104 | can be used in a very similar way to the whole host of supported busybox | 104 | can be used in a very similar way to the whole host of supported BusyBox |
105 | applets in Yocto. :: | 105 | applets in Yocto. :: |
106 | 106 | ||
107 | root@crownbay:~# rm linux-2.6.19.2.tar.bz2; \ | 107 | root@crownbay:~# rm linux-2.6.19.2.tar.bz2; \ |
@@ -251,7 +251,7 @@ As a bit of background explanation for these callchains, think about | |||
251 | what happens at a high level when you run wget to get a file out on the | 251 | what happens at a high level when you run wget to get a file out on the |
252 | network. Basically what happens is that the data comes into the kernel | 252 | network. Basically what happens is that the data comes into the kernel |
253 | via the network connection (socket) and is passed to the userspace | 253 | via the network connection (socket) and is passed to the userspace |
254 | program 'wget' (which is actually a part of busybox, but that's not | 254 | program 'wget' (which is actually a part of BusyBox, but that's not |
255 | important for now), which takes the buffers the kernel passes to it and | 255 | important for now), which takes the buffers the kernel passes to it and |
256 | writes it to a disk file to save it. | 256 | writes it to a disk file to save it. |
257 | 257 | ||
@@ -277,16 +277,16 @@ Now that we've seen the basic layout of the profile data and the basics | |||
277 | of how to extract useful information out of it, let's get back to the | 277 | of how to extract useful information out of it, let's get back to the |
278 | task at hand and see if we can get some basic idea about where the time | 278 | task at hand and see if we can get some basic idea about where the time |
279 | is spent in the program we're profiling, wget. Remember that wget is | 279 | is spent in the program we're profiling, wget. Remember that wget is |
280 | actually implemented as an applet in busybox, so while the process name | 280 | actually implemented as an applet in BusyBox, so while the process name |
281 | is 'wget', the executable we're actually interested in is busybox. So | 281 | is 'wget', the executable we're actually interested in is BusyBox. So |
282 | let's expand the first entry containing busybox: | 282 | let's expand the first entry containing BusyBox: |
283 | 283 | ||
284 | .. image:: figures/perf-wget-busybox-expanded-stripped.png | 284 | .. image:: figures/perf-wget-busybox-expanded-stripped.png |
285 | :align: center | 285 | :align: center |
286 | 286 | ||
287 | Again, before we expanded we saw that the function was labeled with a | 287 | Again, before we expanded we saw that the function was labeled with a |
288 | hex value instead of a symbol as with most of the kernel entries. | 288 | hex value instead of a symbol as with most of the kernel entries. |
289 | Expanding the busybox entry doesn't make it any better. | 289 | Expanding the BusyBox entry doesn't make it any better. |
290 | 290 | ||
291 | The problem is that perf can't find the symbol information for the | 291 | The problem is that perf can't find the symbol information for the |
292 | busybox binary, which is actually stripped out by the Yocto build | 292 | busybox binary, which is actually stripped out by the Yocto build |
@@ -299,7 +299,7 @@ when you build the image: :: | |||
299 | 299 | ||
300 | However, we already have an image with the binaries stripped, so | 300 | However, we already have an image with the binaries stripped, so |
301 | what can we do to get perf to resolve the symbols? Basically we need to | 301 | what can we do to get perf to resolve the symbols? Basically we need to |
302 | install the debuginfo for the busybox package. | 302 | install the debuginfo for the BusyBox package. |
303 | 303 | ||
304 | To generate the debug info for the packages in the image, we can add | 304 | To generate the debug info for the packages in the image, we can add |
305 | ``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example: :: | 305 | ``dbg-pkgs`` to :term:`EXTRA_IMAGE_FEATURES` in ``local.conf``. For example: :: |
@@ -314,7 +314,7 @@ in the ``local.conf`` file: :: | |||
314 | PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory' | 314 | PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory' |
315 | 315 | ||
316 | Once we've done that, we can install the | 316 | Once we've done that, we can install the |
317 | debuginfo for busybox. The debug packages once built can be found in | 317 | debuginfo for BusyBox. The debug packages once built can be found in |
318 | ``build/tmp/deploy/rpm/*`` on the host system. Find the busybox-dbg-...rpm | 318 | ``build/tmp/deploy/rpm/*`` on the host system. Find the busybox-dbg-...rpm |
319 | file and copy it to the target. For example: :: | 319 | file and copy it to the target. For example: :: |
320 | 320 | ||
@@ -325,7 +325,7 @@ Now install the debug rpm on the target: :: | |||
325 | 325 | ||
326 | root@crownbay:~# rpm -i busybox-dbg-1.20.2-r2.core2_32.rpm | 326 | root@crownbay:~# rpm -i busybox-dbg-1.20.2-r2.core2_32.rpm |
327 | 327 | ||
328 | Now that the debuginfo is installed, we see that the busybox entries now display | 328 | Now that the debuginfo is installed, we see that the BusyBox entries now display |
329 | their functions symbolically: | 329 | their functions symbolically: |
330 | 330 | ||
331 | .. image:: figures/perf-wget-busybox-debuginfo.png | 331 | .. image:: figures/perf-wget-busybox-debuginfo.png |
@@ -345,11 +345,11 @@ expanded all the nodes using the 'E' key): | |||
345 | .. image:: figures/perf-wget-busybox-dso-zoom.png | 345 | .. image:: figures/perf-wget-busybox-dso-zoom.png |
346 | :align: center | 346 | :align: center |
347 | 347 | ||
348 | Finally, we can see that now that the busybox debuginfo is installed, | 348 | Finally, we can see that now that the BusyBox debuginfo is installed, |
349 | the previously unresolved symbol in the ``sys_clock_gettime()`` entry | 349 | the previously unresolved symbol in the ``sys_clock_gettime()`` entry |
350 | mentioned previously is now resolved, and shows that the | 350 | mentioned previously is now resolved, and shows that the |
351 | sys_clock_gettime system call that was the source of 6.75% of the | 351 | sys_clock_gettime system call that was the source of 6.75% of the |
352 | copy-to-user overhead was initiated by the ``handle_input()`` busybox | 352 | copy-to-user overhead was initiated by the ``handle_input()`` BusyBox |
353 | function: | 353 | function: |
354 | 354 | ||
355 | .. image:: figures/perf-wget-g-copy-to-user-expanded-debuginfo.png | 355 | .. image:: figures/perf-wget-g-copy-to-user-expanded-debuginfo.png |
@@ -1900,7 +1900,7 @@ the target: :: | |||
1900 | meta-toolchain | 1900 | meta-toolchain |
1901 | meta-ide-support | 1901 | meta-ide-support |
1902 | 1902 | ||
1903 | You can also run generated qemu images with a command like 'runqemu qemux86-64' | 1903 | You can also run generated QEMU images with a command like 'runqemu qemux86-64' |
1904 | 1904 | ||
1905 | Once you've done that, you can cd to whatever | 1905 | Once you've done that, you can cd to whatever |
1906 | directory contains your scripts and use 'crosstap' to run the script: :: | 1906 | directory contains your scripts and use 'crosstap' to run the script: :: |