All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* 2.7% build time regression caused by enabling debug/printk.scc KERNEL_FEATURE
@ 2016-07-26 14:32 Ed Bartosh
  2016-07-26 15:28 ` Bruce Ashfield
  0 siblings, 1 reply; 4+ messages in thread
From: Ed Bartosh @ 2016-07-26 14:32 UTC (permalink / raw
  To: openembedded-core; +Cc: Bruce Ashfield

Hi all,

We've noticed quite big increase of core-image-minimal build time caused by commit
d55b7650d305ffad953dd36595ee6b9aa8df5a72 linux-yocto: Enablei debug/printk.scc KERNEL_FEATURE on qemuall machines.

Here are results of /usr/bin/time -v bitbake core-image-minimal for this
and previous commits:

linux-yocto: Enable debug/printk.scc KERNEL_FEATURE on qemuall machines: d55b7650d305ffad953dd36595ee6b9aa8df5a72
        Command being timed: "bitbake core-image-minimal"
        User time (seconds): 14966.24
        System time (seconds): 3829.23
        Percent of CPU this job got: 1212%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 25:50.52
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 917592
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 8105
        Minor (reclaiming a frame) page faults: 628476540
        Voluntary context switches: 26886617
        Involuntary context switches: 2033535
        Swaps: 0
        File system inputs: 3160048
        File system outputs: 78417720
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

commit: nativesdk-packagegroup-sdk-host: Add wayland-scanner to the SDK native toolchain: e833508075bcb8f2d1ccddcf46f579aea7a2ab1d
        Command being timed: "bitbake core-image-minimal"
        User time (seconds): 14526.89
        System time (seconds): 3770.74
        Percent of CPU this job got: 1193%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 25:33.44
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 917792
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 8058
        Minor (reclaiming a frame) page faults: 618283939
        Voluntary context switches: 26538183
        Involuntary context switches: 1859365
        Swaps: 0
        File system inputs: 3191584
        File system outputs: 66411592
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

The total time (user time + system time) incresed by 2.72% which seems quite a lot.

diff of tasks utime shows biggest difference in do_package* tasks. This is probably
due to increased size of packages:

do_bundle_initramfs:utime: 21         |   do_bundle_initramfs:utime: 32
do_compile:utime: 47                  |   do_compile:utime: 51
do_compile_kernelmodules:utime: 39    |   do_compile_kernelmodules:utime: 42
do_configure:utime: 20                |   do_configure:utime: 24
do_deploy:utime: 38                   |   do_deploy:utime: 35
do_fetch:utime: 25                    |   do_fetch:utime: 28
do_install:utime: 26                  |   do_install:utime: 22
do_kernel_checkout:utime: 21          |   do_kernel_checkout:utime: 24
do_kernel_configcheck:utime: 21       |   do_kernel_configcheck:utime: 21
do_kernel_configme:utime: 23          |   do_kernel_configme:utime: 23
do_kernel_link_images:utime: 24       |   do_kernel_link_images:utime: 22
do_kernel_metadata:utime: 25          |   do_kernel_metadata:utime: 23
do_package:utime: 396                 |   do_package:utime: 378
do_packagedata:utime: 35              |   do_packagedata:utime: 34
do_package_qa:utime: 460              |   do_package_qa:utime: 492
do_package_write_rpm:utime: 431       |   do_package_write_rpm:utime: 399
do_patch:utime: 25                    |   do_patch:utime: 25
do_populate_lic:utime: 30             |   do_populate_lic:utime: 29
do_populate_sysroot:utime: 33         |   do_populate_sysroot:utime: 30
do_shared_workdir:utime: 24           |   do_shared_workdir:utime: 25
do_sizecheck:utime: 23                |   do_sizecheck:utime: 21
do_strip:utime: 23                    |   do_strip:utime: 23
do_uboot_mkimage:utime: 25            |   do_uboot_mkimage:utime: 24
do_unpack:utime: 21                   |   do_unpack:utime: 22
do_validate_branches:utime: 23        |   do_validate_branches:utime: 24

There is also quite big increase in consumed disk space by the kernel
and modules:
$ ls -lh ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
-rw-r--r-- 1 ed ed 261M Jul 25 12:39 ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
$ ls -lh ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
-rw-r--r-- 1 ed ed 19M Jul 25 17:34 ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard

$ ls -lh tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
-rw-rw-r-- 2 ed ed 99M Jul 25 12:39 tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
$ ls -lh tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
-rw-rw-r-- 1 ed ed 4.3M Jul 25 17:34 tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz

Any thoughts on this? Is it normal or it should be tested further and fixed?

--
Regards,
Ed


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.7% build time regression caused by enabling debug/printk.scc KERNEL_FEATURE
  2016-07-26 14:32 2.7% build time regression caused by enabling debug/printk.scc KERNEL_FEATURE Ed Bartosh
@ 2016-07-26 15:28 ` Bruce Ashfield
  2016-07-26 16:19   ` Aníbal Limón
  0 siblings, 1 reply; 4+ messages in thread
From: Bruce Ashfield @ 2016-07-26 15:28 UTC (permalink / raw
  To: ed.bartosh, openembedded-core

On 2016-07-26 10:32 AM, Ed Bartosh wrote:
> Hi all,
>
> We've noticed quite big increase of core-image-minimal build time caused by commit
> d55b7650d305ffad953dd36595ee6b9aa8df5a72 linux-yocto: Enablei debug/printk.scc KERNEL_FEATURE on qemuall machines.
>

That commit only enables the following options:

CONFIG_PRINTK=y
CONFIG_PRINTK_TIME=y

CONFIG_EARLY_PRINTK=y

CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_EFI=y
CONFIG_TTY_PRINTK=y

And yes, that will add some size to the kernel, but I'm not seeing
similar size increases here.

If you take a look through the kernel source and build, there are
relatively few additions to the actual kernel build that change
based on those options, and most of them are runtime changes versus
build-time changes.

> Here are results of /usr/bin/time -v bitbake core-image-minimal for this
> and previous commits:
>
> linux-yocto: Enable debug/printk.scc KERNEL_FEATURE on qemuall machines: d55b7650d305ffad953dd36595ee6b9aa8df5a72
>          Command being timed: "bitbake core-image-minimal"
>          User time (seconds): 14966.24
>          System time (seconds): 3829.23
>          Percent of CPU this job got: 1212%
>          Elapsed (wall clock) time (h:mm:ss or m:ss): 25:50.52
>          Average shared text size (kbytes): 0
>          Average unshared data size (kbytes): 0
>          Average stack size (kbytes): 0
>          Average total size (kbytes): 0
>          Maximum resident set size (kbytes): 917592
>          Average resident set size (kbytes): 0
>          Major (requiring I/O) page faults: 8105
>          Minor (reclaiming a frame) page faults: 628476540
>          Voluntary context switches: 26886617
>          Involuntary context switches: 2033535
>          Swaps: 0
>          File system inputs: 3160048
>          File system outputs: 78417720
>          Socket messages sent: 0
>          Socket messages received: 0
>          Signals delivered: 0
>          Page size (bytes): 4096
>          Exit status: 0
>
> commit: nativesdk-packagegroup-sdk-host: Add wayland-scanner to the SDK native toolchain: e833508075bcb8f2d1ccddcf46f579aea7a2ab1d
>          Command being timed: "bitbake core-image-minimal"
>          User time (seconds): 14526.89
>          System time (seconds): 3770.74
>          Percent of CPU this job got: 1193%
>          Elapsed (wall clock) time (h:mm:ss or m:ss): 25:33.44
>          Average shared text size (kbytes): 0
>          Average unshared data size (kbytes): 0
>          Average stack size (kbytes): 0
>          Average total size (kbytes): 0
>          Maximum resident set size (kbytes): 917792
>          Average resident set size (kbytes): 0
>          Major (requiring I/O) page faults: 8058
>          Minor (reclaiming a frame) page faults: 618283939
>          Voluntary context switches: 26538183
>          Involuntary context switches: 1859365
>          Swaps: 0
>          File system inputs: 3191584
>          File system outputs: 66411592
>          Socket messages sent: 0
>          Socket messages received: 0
>          Signals delivered: 0
>          Page size (bytes): 4096
>          Exit status: 0
>
> The total time (user time + system time) incresed by 2.72% which seems quite a lot.
>
> diff of tasks utime shows biggest difference in do_package* tasks. This is probably
> due to increased size of packages:
>
> do_bundle_initramfs:utime: 21         |   do_bundle_initramfs:utime: 32
> do_compile:utime: 47                  |   do_compile:utime: 51
> do_compile_kernelmodules:utime: 39    |   do_compile_kernelmodules:utime: 42
> do_configure:utime: 20                |   do_configure:utime: 24
> do_deploy:utime: 38                   |   do_deploy:utime: 35
> do_fetch:utime: 25                    |   do_fetch:utime: 28
> do_install:utime: 26                  |   do_install:utime: 22
> do_kernel_checkout:utime: 21          |   do_kernel_checkout:utime: 24
> do_kernel_configcheck:utime: 21       |   do_kernel_configcheck:utime: 21
> do_kernel_configme:utime: 23          |   do_kernel_configme:utime: 23
> do_kernel_link_images:utime: 24       |   do_kernel_link_images:utime: 22
> do_kernel_metadata:utime: 25          |   do_kernel_metadata:utime: 23
> do_package:utime: 396                 |   do_package:utime: 378
> do_packagedata:utime: 35              |   do_packagedata:utime: 34
> do_package_qa:utime: 460              |   do_package_qa:utime: 492
> do_package_write_rpm:utime: 431       |   do_package_write_rpm:utime: 399
> do_patch:utime: 25                    |   do_patch:utime: 25
> do_populate_lic:utime: 30             |   do_populate_lic:utime: 29
> do_populate_sysroot:utime: 33         |   do_populate_sysroot:utime: 30
> do_shared_workdir:utime: 24           |   do_shared_workdir:utime: 25
> do_sizecheck:utime: 23                |   do_sizecheck:utime: 21
> do_strip:utime: 23                    |   do_strip:utime: 23
> do_uboot_mkimage:utime: 25            |   do_uboot_mkimage:utime: 24
> do_unpack:utime: 21                   |   do_unpack:utime: 22
> do_validate_branches:utime: 23        |   do_validate_branches:utime: 24
>
> There is also quite big increase in consumed disk space by the kernel
> and modules:
> $ ls -lh ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
> -rw-r--r-- 1 ed ed 261M Jul 25 12:39 ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
> $ ls -lh ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
> -rw-r--r-- 1 ed ed 19M Jul 25 17:34 ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>
> $ ls -lh tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
> -rw-rw-r-- 2 ed ed 99M Jul 25 12:39 tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
> $ ls -lh tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
> -rw-rw-r-- 1 ed ed 4.3M Jul 25 17:34 tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
>
> Any thoughts on this? Is it normal or it should be tested further and fixed?

I'm not sure that this is related to the debug printk build, but
anything that that could be increasing footprint and build time
like that should be looked into.

Without messing with the oe-core commit that enabled the feature, has
someone done a build, gone into the kernel .config, disabled the options
and then rebuilt ? I'd start there to rule out that the option is
actually doing something that significant to the build itself.

.. but I can't say much more than that, since as you can see by the
commit, I'm not on the sign-off list, so I don't have all the background.

Bruce

>
> --
> Regards,
> Ed
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.7% build time regression caused by enabling debug/printk.scc KERNEL_FEATURE
  2016-07-26 15:28 ` Bruce Ashfield
@ 2016-07-26 16:19   ` Aníbal Limón
  2016-07-26 20:05     ` Aníbal Limón
  0 siblings, 1 reply; 4+ messages in thread
From: Aníbal Limón @ 2016-07-26 16:19 UTC (permalink / raw
  To: Bruce Ashfield, ed.bartosh, openembedded-core, Saul Wold,
	Richard Purdie

[-- Attachment #1: Type: text/plain, Size: 8025 bytes --]


Hi,

I was thinking about how many more times takes to build and run the 2.7%
for me is reasonable since it's only enabled on qemu machines for
debugging purposes.

One alternative will be only enable this feature in AB builds another
one is that RP suggest to split into more kernel configurations
printk.cfg and printk_early.cfg and see how many more time takes only
with printk. [1]

+ RP and Saul

[1]
http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/features/debug/printk.cfg

	alimon


On 07/26/2016 10:28 AM, Bruce Ashfield wrote:
> On 2016-07-26 10:32 AM, Ed Bartosh wrote:
>> Hi all,
>>
>> We've noticed quite big increase of core-image-minimal build time
>> caused by commit
>> d55b7650d305ffad953dd36595ee6b9aa8df5a72 linux-yocto: Enablei
>> debug/printk.scc KERNEL_FEATURE on qemuall machines.
>>
> 
> That commit only enables the following options:
> 
> CONFIG_PRINTK=y
> CONFIG_PRINTK_TIME=y
> 
> CONFIG_EARLY_PRINTK=y
> 
> CONFIG_EARLY_PRINTK_DBGP=y
> CONFIG_EARLY_PRINTK_EFI=y
> CONFIG_TTY_PRINTK=y
> 
> And yes, that will add some size to the kernel, but I'm not seeing
> similar size increases here.
> 
> If you take a look through the kernel source and build, there are
> relatively few additions to the actual kernel build that change
> based on those options, and most of them are runtime changes versus
> build-time changes.
> 
>> Here are results of /usr/bin/time -v bitbake core-image-minimal for this
>> and previous commits:
>>
>> linux-yocto: Enable debug/printk.scc KERNEL_FEATURE on qemuall
>> machines: d55b7650d305ffad953dd36595ee6b9aa8df5a72
>>          Command being timed: "bitbake core-image-minimal"
>>          User time (seconds): 14966.24
>>          System time (seconds): 3829.23
>>          Percent of CPU this job got: 1212%
>>          Elapsed (wall clock) time (h:mm:ss or m:ss): 25:50.52
>>          Average shared text size (kbytes): 0
>>          Average unshared data size (kbytes): 0
>>          Average stack size (kbytes): 0
>>          Average total size (kbytes): 0
>>          Maximum resident set size (kbytes): 917592
>>          Average resident set size (kbytes): 0
>>          Major (requiring I/O) page faults: 8105
>>          Minor (reclaiming a frame) page faults: 628476540
>>          Voluntary context switches: 26886617
>>          Involuntary context switches: 2033535
>>          Swaps: 0
>>          File system inputs: 3160048
>>          File system outputs: 78417720
>>          Socket messages sent: 0
>>          Socket messages received: 0
>>          Signals delivered: 0
>>          Page size (bytes): 4096
>>          Exit status: 0
>>
>> commit: nativesdk-packagegroup-sdk-host: Add wayland-scanner to the
>> SDK native toolchain: e833508075bcb8f2d1ccddcf46f579aea7a2ab1d
>>          Command being timed: "bitbake core-image-minimal"
>>          User time (seconds): 14526.89
>>          System time (seconds): 3770.74
>>          Percent of CPU this job got: 1193%
>>          Elapsed (wall clock) time (h:mm:ss or m:ss): 25:33.44
>>          Average shared text size (kbytes): 0
>>          Average unshared data size (kbytes): 0
>>          Average stack size (kbytes): 0
>>          Average total size (kbytes): 0
>>          Maximum resident set size (kbytes): 917792
>>          Average resident set size (kbytes): 0
>>          Major (requiring I/O) page faults: 8058
>>          Minor (reclaiming a frame) page faults: 618283939
>>          Voluntary context switches: 26538183
>>          Involuntary context switches: 1859365
>>          Swaps: 0
>>          File system inputs: 3191584
>>          File system outputs: 66411592
>>          Socket messages sent: 0
>>          Socket messages received: 0
>>          Signals delivered: 0
>>          Page size (bytes): 4096
>>          Exit status: 0
>>
>> The total time (user time + system time) incresed by 2.72% which seems
>> quite a lot.
>>
>> diff of tasks utime shows biggest difference in do_package* tasks.
>> This is probably
>> due to increased size of packages:
>>
>> do_bundle_initramfs:utime: 21         |   do_bundle_initramfs:utime: 32
>> do_compile:utime: 47                  |   do_compile:utime: 51
>> do_compile_kernelmodules:utime: 39    |  
>> do_compile_kernelmodules:utime: 42
>> do_configure:utime: 20                |   do_configure:utime: 24
>> do_deploy:utime: 38                   |   do_deploy:utime: 35
>> do_fetch:utime: 25                    |   do_fetch:utime: 28
>> do_install:utime: 26                  |   do_install:utime: 22
>> do_kernel_checkout:utime: 21          |   do_kernel_checkout:utime: 24
>> do_kernel_configcheck:utime: 21       |   do_kernel_configcheck:utime: 21
>> do_kernel_configme:utime: 23          |   do_kernel_configme:utime: 23
>> do_kernel_link_images:utime: 24       |   do_kernel_link_images:utime: 22
>> do_kernel_metadata:utime: 25          |   do_kernel_metadata:utime: 23
>> do_package:utime: 396                 |   do_package:utime: 378
>> do_packagedata:utime: 35              |   do_packagedata:utime: 34
>> do_package_qa:utime: 460              |   do_package_qa:utime: 492
>> do_package_write_rpm:utime: 431       |   do_package_write_rpm:utime: 399
>> do_patch:utime: 25                    |   do_patch:utime: 25
>> do_populate_lic:utime: 30             |   do_populate_lic:utime: 29
>> do_populate_sysroot:utime: 33         |   do_populate_sysroot:utime: 30
>> do_shared_workdir:utime: 24           |   do_shared_workdir:utime: 25
>> do_sizecheck:utime: 23                |   do_sizecheck:utime: 21
>> do_strip:utime: 23                    |   do_strip:utime: 23
>> do_uboot_mkimage:utime: 25            |   do_uboot_mkimage:utime: 24
>> do_unpack:utime: 21                   |   do_unpack:utime: 22
>> do_validate_branches:utime: 23        |   do_validate_branches:utime: 24
>>
>> There is also quite big increase in consumed disk space by the kernel
>> and modules:
>> $ ls -lh
>> ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>
>> -rw-r--r-- 1 ed ed 261M Jul 25 12:39
>> ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>
>> $ ls -lh
>> ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>
>> -rw-r--r-- 1 ed ed 19M Jul 25 17:34
>> ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>
>>
>> $ ls -lh
>> tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
>>
>> -rw-rw-r-- 2 ed ed 99M Jul 25 12:39
>> tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
>>
>> $ ls -lh
>> tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
>>
>> -rw-rw-r-- 1 ed ed 4.3M Jul 25 17:34
>> tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
>>
>>
>> Any thoughts on this? Is it normal or it should be tested further and
>> fixed?
> 
> I'm not sure that this is related to the debug printk build, but
> anything that that could be increasing footprint and build time
> like that should be looked into.
> 
> Without messing with the oe-core commit that enabled the feature, has
> someone done a build, gone into the kernel .config, disabled the options
> and then rebuilt ? I'd start there to rule out that the option is
> actually doing something that significant to the build itself.
> 
> .. but I can't say much more than that, since as you can see by the
> commit, I'm not on the sign-off list, so I don't have all the background.
> 
> Bruce
> 
>>
>> -- 
>> Regards,
>> Ed
>>
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: 2.7% build time regression caused by enabling debug/printk.scc KERNEL_FEATURE
  2016-07-26 16:19   ` Aníbal Limón
@ 2016-07-26 20:05     ` Aníbal Limón
  0 siblings, 0 replies; 4+ messages in thread
From: Aníbal Limón @ 2016-07-26 20:05 UTC (permalink / raw
  To: Bruce Ashfield, ed.bartosh, openembedded-core, Saul Wold,
	Richard Purdie, saul.wold

[-- Attachment #1: Type: text/plain, Size: 8304 bytes --]

+ Saul (.intel.com)


On 07/26/2016 11:19 AM, Aníbal Limón wrote:
> 
> Hi,
> 
> I was thinking about how many more times takes to build and run the 2.7%
> for me is reasonable since it's only enabled on qemu machines for
> debugging purposes.
> 
> One alternative will be only enable this feature in AB builds another
> one is that RP suggest to split into more kernel configurations
> printk.cfg and printk_early.cfg and see how many more time takes only
> with printk. [1]
> 
> + RP and Saul
> 
> [1]
> http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-cache/tree/features/debug/printk.cfg
> 
> 	alimon
> 
> 
> On 07/26/2016 10:28 AM, Bruce Ashfield wrote:
>> On 2016-07-26 10:32 AM, Ed Bartosh wrote:
>>> Hi all,
>>>
>>> We've noticed quite big increase of core-image-minimal build time
>>> caused by commit
>>> d55b7650d305ffad953dd36595ee6b9aa8df5a72 linux-yocto: Enablei
>>> debug/printk.scc KERNEL_FEATURE on qemuall machines.
>>>
>>
>> That commit only enables the following options:
>>
>> CONFIG_PRINTK=y
>> CONFIG_PRINTK_TIME=y
>>
>> CONFIG_EARLY_PRINTK=y
>>
>> CONFIG_EARLY_PRINTK_DBGP=y
>> CONFIG_EARLY_PRINTK_EFI=y
>> CONFIG_TTY_PRINTK=y
>>
>> And yes, that will add some size to the kernel, but I'm not seeing
>> similar size increases here.
>>
>> If you take a look through the kernel source and build, there are
>> relatively few additions to the actual kernel build that change
>> based on those options, and most of them are runtime changes versus
>> build-time changes.
>>
>>> Here are results of /usr/bin/time -v bitbake core-image-minimal for this
>>> and previous commits:
>>>
>>> linux-yocto: Enable debug/printk.scc KERNEL_FEATURE on qemuall
>>> machines: d55b7650d305ffad953dd36595ee6b9aa8df5a72
>>>          Command being timed: "bitbake core-image-minimal"
>>>          User time (seconds): 14966.24
>>>          System time (seconds): 3829.23
>>>          Percent of CPU this job got: 1212%
>>>          Elapsed (wall clock) time (h:mm:ss or m:ss): 25:50.52
>>>          Average shared text size (kbytes): 0
>>>          Average unshared data size (kbytes): 0
>>>          Average stack size (kbytes): 0
>>>          Average total size (kbytes): 0
>>>          Maximum resident set size (kbytes): 917592
>>>          Average resident set size (kbytes): 0
>>>          Major (requiring I/O) page faults: 8105
>>>          Minor (reclaiming a frame) page faults: 628476540
>>>          Voluntary context switches: 26886617
>>>          Involuntary context switches: 2033535
>>>          Swaps: 0
>>>          File system inputs: 3160048
>>>          File system outputs: 78417720
>>>          Socket messages sent: 0
>>>          Socket messages received: 0
>>>          Signals delivered: 0
>>>          Page size (bytes): 4096
>>>          Exit status: 0
>>>
>>> commit: nativesdk-packagegroup-sdk-host: Add wayland-scanner to the
>>> SDK native toolchain: e833508075bcb8f2d1ccddcf46f579aea7a2ab1d
>>>          Command being timed: "bitbake core-image-minimal"
>>>          User time (seconds): 14526.89
>>>          System time (seconds): 3770.74
>>>          Percent of CPU this job got: 1193%
>>>          Elapsed (wall clock) time (h:mm:ss or m:ss): 25:33.44
>>>          Average shared text size (kbytes): 0
>>>          Average unshared data size (kbytes): 0
>>>          Average stack size (kbytes): 0
>>>          Average total size (kbytes): 0
>>>          Maximum resident set size (kbytes): 917792
>>>          Average resident set size (kbytes): 0
>>>          Major (requiring I/O) page faults: 8058
>>>          Minor (reclaiming a frame) page faults: 618283939
>>>          Voluntary context switches: 26538183
>>>          Involuntary context switches: 1859365
>>>          Swaps: 0
>>>          File system inputs: 3191584
>>>          File system outputs: 66411592
>>>          Socket messages sent: 0
>>>          Socket messages received: 0
>>>          Signals delivered: 0
>>>          Page size (bytes): 4096
>>>          Exit status: 0
>>>
>>> The total time (user time + system time) incresed by 2.72% which seems
>>> quite a lot.
>>>
>>> diff of tasks utime shows biggest difference in do_package* tasks.
>>> This is probably
>>> due to increased size of packages:
>>>
>>> do_bundle_initramfs:utime: 21         |   do_bundle_initramfs:utime: 32
>>> do_compile:utime: 47                  |   do_compile:utime: 51
>>> do_compile_kernelmodules:utime: 39    |  
>>> do_compile_kernelmodules:utime: 42
>>> do_configure:utime: 20                |   do_configure:utime: 24
>>> do_deploy:utime: 38                   |   do_deploy:utime: 35
>>> do_fetch:utime: 25                    |   do_fetch:utime: 28
>>> do_install:utime: 26                  |   do_install:utime: 22
>>> do_kernel_checkout:utime: 21          |   do_kernel_checkout:utime: 24
>>> do_kernel_configcheck:utime: 21       |   do_kernel_configcheck:utime: 21
>>> do_kernel_configme:utime: 23          |   do_kernel_configme:utime: 23
>>> do_kernel_link_images:utime: 24       |   do_kernel_link_images:utime: 22
>>> do_kernel_metadata:utime: 25          |   do_kernel_metadata:utime: 23
>>> do_package:utime: 396                 |   do_package:utime: 378
>>> do_packagedata:utime: 35              |   do_packagedata:utime: 34
>>> do_package_qa:utime: 460              |   do_package_qa:utime: 492
>>> do_package_write_rpm:utime: 431       |   do_package_write_rpm:utime: 399
>>> do_patch:utime: 25                    |   do_patch:utime: 25
>>> do_populate_lic:utime: 30             |   do_populate_lic:utime: 29
>>> do_populate_sysroot:utime: 33         |   do_populate_sysroot:utime: 30
>>> do_shared_workdir:utime: 24           |   do_shared_workdir:utime: 25
>>> do_sizecheck:utime: 23                |   do_sizecheck:utime: 21
>>> do_strip:utime: 23                    |   do_strip:utime: 23
>>> do_uboot_mkimage:utime: 25            |   do_uboot_mkimage:utime: 24
>>> do_unpack:utime: 21                   |   do_unpack:utime: 22
>>> do_validate_branches:utime: 23        |   do_validate_branches:utime: 24
>>>
>>> There is also quite big increase in consumed disk space by the kernel
>>> and modules:
>>> $ ls -lh
>>> ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>>
>>> -rw-r--r-- 1 ed ed 261M Jul 25 12:39
>>> ./tmp.bad/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>>
>>> $ ls -lh
>>> ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>>
>>> -rw-r--r-- 1 ed ed 19M Jul 25 17:34
>>> ./tmp.prev/work/qemux86-poky-linux/linux-yocto/4.4.14+gitAUTOINC+4800a400d5_8361321fec-r0/image/boot/vmlinux-4.4.14-yocto-standard
>>>
>>>
>>> $ ls -lh
>>> tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
>>>
>>> -rw-rw-r-- 2 ed ed 99M Jul 25 12:39
>>> tmp.bad/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725092744.tgz
>>>
>>> $ ls -lh
>>> tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
>>>
>>> -rw-rw-r-- 1 ed ed 4.3M Jul 25 17:34
>>> tmp.prev/deploy/images/qemux86/modules--4.4.14+git0+4800a400d5_8361321fec-r0-qemux86-20160725105810.tgz
>>>
>>>
>>> Any thoughts on this? Is it normal or it should be tested further and
>>> fixed?
>>
>> I'm not sure that this is related to the debug printk build, but
>> anything that that could be increasing footprint and build time
>> like that should be looked into.
>>
>> Without messing with the oe-core commit that enabled the feature, has
>> someone done a build, gone into the kernel .config, disabled the options
>> and then rebuilt ? I'd start there to rule out that the option is
>> actually doing something that significant to the build itself.
>>
>> .. but I can't say much more than that, since as you can see by the
>> commit, I'm not on the sign-off list, so I don't have all the background.
>>
>> Bruce
>>
>>>
>>> -- 
>>> Regards,
>>> Ed
>>>
>>
> 
> 
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-07-26 20:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-26 14:32 2.7% build time regression caused by enabling debug/printk.scc KERNEL_FEATURE Ed Bartosh
2016-07-26 15:28 ` Bruce Ashfield
2016-07-26 16:19   ` Aníbal Limón
2016-07-26 20:05     ` Aníbal Limón

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.