On Mon, Sep 14, 2020 at 11:32 AM Martin Jansa <[email protected]> wrote: > > > This reduces the number of files from 12 to 2 for ARMv8a, and that is > > excluding the 13 I am adding in this series that would otherwise be unique > > files. > > I don't have a strong opinion on this anymore, but is the number of the > include files the issue here?
This is the reason why I'm doing it. Arm needs to support all the cortex-a and cortex-m cores. This would make the majority of the tune files for only Arm cores. We could move them into meta/conf/machine/include/arm and not make the level down directory so messy, but I think this is cleaner. > I think the issue is the number of possible combinations and using the same > TUNE_PKGARCH for different tunes (unlike 32bit arm tune files which use > different). Bundling all these combinations in fewer include files doesn't > IMHO improve it. The multitude of combinations and redundancy code entries makes it very error prone. By putting them all in the same file, it makes it much easier to see the differences in entries and catch errors. Longer term, I'd like to see something that removes the redundancies completely, but it will take some work. > With 32bit arm include files it was useful to be able to compare various > include files to check that they follow the same "structure" (or to add new > cortexa* one by copying existing and regex-replace). > > Also AVAILTUNES will now contain all possible tunes from given family (which > makes it almost useless for aarch64 tunes). So instead of BSP including .inc > file corresponding with the core used in the MACHINE and getting some "sane" > default DEFAULTTUNE (plus some other possible options listed in AVAILTUNES) > we now force every BSP to set more specific DEFAULTTUNE and then let user > figure out what other DEFAULTTUNEs might be compatible with it, e.g. when > someone is doing multi MACHINE builds and wants to share TUNE_PKGARCH between > them (to save build time, package feed size etc). You can still set a generic default for all the machines of a given family. By including armv8a.inc, you still get 'DEFAULTTUNE ?= "armv8a-crc"'. This will allow for a generic for an entire family. I'm not seeing the issue. Thanks, Jon > > Cheers, > > On Mon, Sep 14, 2020 at 5:14 PM Jon Mason <[email protected]> wrote: >> >> There is a large number of Arm Tune files located in >> meta/conf/machine/include/, and to support the current and upcoming Arm >> cores, more are needed. Adding more files is simply going to make it >> harder to find the relevant ones for an OE/YP developer/user. Also, >> there are problems with stale and erroneous configs (see my previous >> series), which will only be exacerbated by having more files. >> >> I am proposing a reorganization of the existing tune files by including >> them in the generic family include file. For example, the >> tune-cortexa55.inc would be moved into arch-armv8-2a.inc, and >> tune-cortexa57.inc would be moved into arch-armv8a.inc. This reduces >> the number of files from 12 to 2 for ARMv8a, and that is excluding the >> 13 I am adding in this series that would otherwise be unique files. >> >> To use, simply add >> ... >> DEFAULTTUNE ?= "neoversen1" >> require conf/machine/include/arm/arch-armv8-2a.inc >> ... >> >> Which is arguably what should be done anyway (instead of taking the >> default of the tune include file). >> See the qemuarm64 patch in the series for a working example. >> >> Of course, by removing the existing tune files, current users are going >> to break. A simple script can be written to use sed (or similar) to >> replace the relevant parts for those users that would be affected (at >> least for those that are in the layer index and update regularly). >> >> Thanks, >> Jon >> >> --- >> >> Originally sent as a RFC in >> https://lists.openembedded.org/g/openembedded-core/message/142324 >> >> Given the generally positive feedback, sending as a patch series. >> Keeping the "hard fail" of the file removal (per Richards comment in >> https://lists.openembedded.org/g/openembedded-core/message/142356). >> Only difference of note is the removal of the "arm64: set BASE_LIB to >> lib64", as there needs to be more investigation (see >> https://lists.openembedded.org/g/openembedded-core/message/142414). >> >> >> Jon Mason (5): >> arch-armv8-2a.inc: Add Cortex-A55 tunings >> arch-armv8a.inc: Add existing tunings >> qemuarm64: change tuning >> arch-armv8a.inc: Add tunes for supported ARMv8a cores >> arch-armv8-2a.inc: Add tunes for supported ARMv8.2a cores >> >> .../machine/include/arm/arch-armv8-2a.inc | 175 ++++++++++++++- >> meta/conf/machine/include/arm/arch-armv8a.inc | 206 +++++++++++++++++- >> meta/conf/machine/include/tune-cortexa32.inc | 18 -- >> meta/conf/machine/include/tune-cortexa35.inc | 17 -- >> meta/conf/machine/include/tune-cortexa53.inc | 18 -- >> meta/conf/machine/include/tune-cortexa55.inc | 13 -- >> .../include/tune-cortexa57-cortexa53.inc | 15 -- >> meta/conf/machine/include/tune-cortexa57.inc | 17 -- >> .../include/tune-cortexa72-cortexa53.inc | 20 -- >> meta/conf/machine/include/tune-cortexa72.inc | 13 -- >> .../include/tune-cortexa73-cortexa53.inc | 20 -- >> meta/conf/machine/include/tune-thunderx.inc | 19 -- >> meta/conf/machine/qemuarm64.conf | 3 +- >> 13 files changed, 371 insertions(+), 183 deletions(-) >> delete mode 100644 meta/conf/machine/include/tune-cortexa32.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa35.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa53.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa55.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa57-cortexa53.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa57.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa72-cortexa53.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa72.inc >> delete mode 100644 meta/conf/machine/include/tune-cortexa73-cortexa53.inc >> delete mode 100644 meta/conf/machine/include/tune-thunderx.inc >> >> -- >> 2.20.1 >> >>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#142565): https://lists.openembedded.org/g/openembedded-core/message/142565 Mute This Topic: https://lists.openembedded.org/mt/76844469/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
