Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 21 Jan 2016 08:17 AM by  Adam Ford
WiFi Performance Configs and BSP 2.4-4
 8 Replies
Sort:
You are not authorized to post a reply.
Author Messages
Joshua Pagnotta
New Member
New Member
Posts:25


--
20 Jan 2016 12:32 PM

    I was wondering if the defconfig.wifi-performance delivered with BSP 2.4-4 was updated and working. I'm assuming not because if I diff it against the standard defconfig in BSP2.4-4 defconfig.wifi-performance still references old u-boots and Linux kernel images whereas defconfig references 2.4-4 files. Also, what in defconfig.wifi-performance is actually changing the configuration to improve performance. The only significant deltas I see are CONFIG_PKG_KERNEL_PRECONFIG="omap3logic_defconfig-performance" and # CONFIG_PKG_KERNEL_LEAVESRC is not set. However, it looks like omap3logic_defconfig-performance is an output file of the build process and not an input file which actually sets default kernel config settings because it doesn't exist until I start the LTIB build process. Thanks.

    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    20 Jan 2016 01:02 PM
    The defconfig.wifi-performance was updated with the BSP. When we released the 2.4-4 BSP we updated the WiFi drivers as a backports project which is enabled by default. The -performance version had to be updated in order to use that. See the following entries:

    CONFIG_PKG_LINUX_BACKPORTS=y
    CONFIG_PKG_CRDA=y
    CONFIG_PKG_REGULATORYDB=y
    CONFIG_PKG_LPD_TI_FIRMWARE=y
    CONFIG_PKG_TI_UTILS_FW=y
    CONFIG_PKG_TI_UTILS=y



    While it appears as if it references the same u-boot and kernel package, the default behavior is to use the u-boot and kernel from defined by their spec files inside the dist directory, and they are set to build the newer u-boot and kernel. U-boot retained its original year-stamp, but it underwent some updates which makes the SD interface 4-bit instead 1-bit which makes booting from SD or reading from SD to burn images to NAND faster. The updated U-boot also enables L2 cache which yielded a 3x improvement in NEON floating point, and a slightly over improvement in system-wide performance, but all results vary.

    The main difference between the WiFi performance is that it enables the omap3logic_defconfig-performance defconfig for the kernel. This disables a bunch of debugging features in the kernel which speeds up performance of the kernel overall which under certain circumstances improves WiFi throughput, but in general it improves overall system performance.

    Let me know if you have any follow up questions.

    adam
    Joshua Pagnotta
    New Member
    New Member
    Posts:25


    --
    20 Jan 2016 01:18 PM

    Thanks for the quick response. A concern of mine I just want to follow up on is if I diff the defconfig and defconfig.wifi-performance files supplied in the 2.4-4 BSP, I see the following differences which concern me. Are these a don't care?

     

    defconfig:

    CONFIG_PKG_U_BOOT_SCM_REPOSITORY="https://svn.logicpd.com/svn/eps_svn/software/products/linux/u-boot/branches/dm37x/RB-ltib-DM3730-2.4-4"

    CONFIG_PKG_KERNEL_SCM_REPOSITORY="https://svn.logicpd.com/svn/eps_svn/software/products/linux/kernels/branches/dm37x/RB-ltib-DM3730-2.4-4"

    CONFIG_PKG_X_LOADER_SCM_REPOSITORY="https://svn.logicpd.com/svn/eps_svn/software/products/linux/x-loader/branches/dm37x/RB-ltib-DM3730-2.4-4"

     

    defconfig.wifi-performance:

    CONFIG_PKG_U_BOOT_SCM_REPOSITORY="https://svn.logicpd.com/svn/eps_svn/software/products/linux/u-boot/u-boot-2011.06"

    CONFIG_PKG_KERNEL_SCM_REPOSITORY="https://svn.logicpd.com/svn/eps_svn/software/products/linux/kernels/linux-3.0"

    CONFIG_PKG_X_LOADER_SCM_REPOSITORY="https://svn.logicpd.com/svn/eps_svn/software/products/linux/x-loader/dm37x/x-load-1.46-OMAPPSP_03.00.01.06"

    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    20 Jan 2016 02:07 PM
    Those are "Don't Cares" because they point to internal subversion repositories that are not accessible outside LogicPD. The default builds do not (and cannot) use them.


    adam
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    20 Jan 2016 02:34 PM
    FYI, The backports in the 2.4-4 BSP are slightly newer than the pre-release backport drivers we gave out to some people. I can't remember if you received the early copies or not.

    I would highly suggest migrating u-boot if you can. The kernel in 2.4-4 was brought up to 3.0.101 from 3.0 so there are a lot of community kernel patches added.

    adam
    Joshua Pagnotta
    New Member
    New Member
    Posts:25


    --
    20 Jan 2016 02:38 PM
    Thanks. Can you help me connect the dots with where the default Linux kernel settings get configured when doing a fresh LTIB build process (./ltib -b -m distclean followed by ./ltib -b --preconfig config/platform/omap_logic/defconfig.wifi-performance)? Historically, we have been modifying the kernel settings though the LTIB configuration menus (./ltib -c followed by selecting configure kernel settings). This in turn modifies the rpm/BUILD/linux/.config file. However, if we want to source control all of our updates (e.g. using git), we were wondering if we had to store this config file or we could update the default settings somewhere so when the initial build gets created it inherits those settings. We've been able to add packages to the LDP-IP-package-pool and their corresponding spec files in the dist folder and maintain them in git, but we were trying to avoid storing items in rpm in git as we're assuming its not required and even possibly bad practice. Thanks.
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    20 Jan 2016 02:55 PM
    defconfig.wifi-performance contains the name of the defconfig to use when compiling the kernel, so if you created a new defconfig (or renamed your .config to something) you could place it into the configs directory and change the name in defconfig.wifi-performance to match your new one.

    One of the configurations that ltib allows is for you to specify the kernel, so if you wanted to isolate your kernel from the rest of the package, you can tell ltib to point at it instead.

    If you want a completely 'virgin' copy of the kernel with the proper patches applied, you can delete the rpm/BUILD/linux directory and execute:

    ./ltib -p kernel -m prep

    It will set it up to build, but it won't build. You could then check it into your git repo.

    The actual system that instructs ltib to build the kernel is located ./dist/lfs-5.1/kernel/kernel-3.0.101-dm37x-r38324.spec.in

    In there it says to take the Linux kernel and apply the patch to it. However, it won't do that if you tell it you have a custom Linux kernel.

    Does that help?

    adam

    Joshua Pagnotta
    New Member
    New Member
    Posts:25


    --
    20 Jan 2016 05:22 PM
    Thanks. The kernel config referenced in the defconfig.wifi-performance is CONFIG_PKG_KERNEL_PRECONFIG="omap3logic_defconfig-performance", correct? That file is deleted though when doing a full clean (./ltib -b -m distclean), correct? It's getting built I take it based on the kernel spec.in file you referenced at the end of the above post through patches?

     

    If we wanted to be able to recreate our image from a clean build (no rpm or rootfs folder) I'm assuming the only thing we need to update is the kernel config after a fresh clean if we've properly got our additional packages configured in the LPD-IP-package-pool and modified files in a merge folder as those don't get wiped. Would we make a patch of our modified kernel settings .config file off the base omap3logic_defconfig-performance that first gets built and then add this as a patch in the kernel spec.in file so on a fresh build it would end up with our kernel settings?

    Perhaps it's better to just store our modified kernel .config file and after the first build from a fresh clean replace the kernel .config file with ours and move on. Was just looking for a way to not require manual intervention if possible from our git repo.

    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    21 Jan 2016 08:17 AM
    The kernel config referenced in the defconfig.wifi-performance is CONFIG_PKG_KERNEL_PRECONFIG="omap3logic_defconfig-performance" - YES

    That file is deleted though when doing a full clean (./ltib -b -m distclean), correct? YES

    If you want to create packages (u-boot, kernel, etc.), the ./ltib -p (package) -m prep will place the source files into rpm/BUILD/(package)

    for example:

    If you were to start ltib using the defconfig.wifi-performance, but cancel (CTRL-C) the build when it starts to extract u-boot, you could immediately wipe out the rpm/BUILD directory, and do the -m prep on all the individual packages which would patch them, but not build them. You could then take them and enter them into your git repo. If you have our Linux User Guide, theck out section 2.5 on how to extract the source for each package.

    adam

    You are not authorized to post a reply.