> > >>>> Hey All. > > >>>> > > >>>> In digging through some pieces around CPU_IDLE I noticed that > > >>>> NO_HZ_IDLE is explicitly disabled on x86_64 but not on all other > > >>>> architectures. > > >>>> > > >>>> Doing a "git log --follow > > >>>> configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_IDLE" it goes all the > > >>>> way back to 2016 when we changed the way the configs were handled. > > >>>> > > >>>> The upstream kernel's opinion [1] on it is "Most of the time you want > > >>>> to say Y here." so I'm wondering if there's a reason why we're > > >>>> difference on x86_64 or is it just lost in the winds of time? > > >>>> > > >>>> Peter > > >>>> > > >>>> PS was digging around CPU_IDLE_GOV_TEO for those curious. > > >>>> > > >>>> [1] https://cateee.net/lkddb/web-lkddb/NO_HZ_IDLE.html > > >>> > > >>> > > >>> commit 3836faf6e68495fc70316229a3540506f7ce4c98 > > >>> Author: Kyle McMartin <kyle@xxxxxxxxxxxxxxxxx> > > >>> Date: Wed Sep 17 13:10:12 2014 -0500 > > >>> > > >>> re-enable RCU_FAST_NO_HZ, enable NO_HZ_FULL on x86_64 > > >>> > > >>> - I also like to live dangerously. (Re-enable RCU_FAST_NO_HZ which > > >>> has been off > > >>> since April 2012. Also enable NO_HZ_FULL on x86_64.) > > >> > > >> Yeah I wouldn't quite say it's been "lost" but the real question > > >> is if it still makes sense. I don't have a strong opinion without > > >> data. Prarit, any opinion here? > > > > > > Oh, I wasn't pointing out that it wasn't just lost, I was pointing out > > > that NO_HZ_IDLE is not set because we run NO_HZ_FULL. We were one of > > > the first distros to do so, and it has worked well for us. I have a > > > fairly strong opinion about not dropping back to IDLE without good > > > reason. > > > > Getting back to the original question, I had to go back through my history to > > see if I could find a reason why there is a discrepancy between x86 and the > > other arches. > > > > AFAICT in *RHEL8* we have NO_HZ_FULL on all arches except s390x. S390x has > > NO_HZ_IDLE. Additionally s390 upstream has: > > > > [prarit@prarit linux]$ git grep NO_HZ_IDLE arch/s390/ > > arch/s390/configs/debug_defconfig:4:CONFIG_NO_HZ_IDLE=y > > arch/s390/configs/defconfig:4:CONFIG_NO_HZ_IDLE=y > > arch/s390/configs/zfcpdump_defconfig:2:CONFIG_NO_HZ_IDLE=y > > > > On Fedora, as noted, > > > > [prarit@prarit fedora]$ find ./ -name *NO_HZ_IDLE* | xargs grep ^ > > ./generic/x86/x86_64/CONFIG_NO_HZ_IDLE:# CONFIG_NO_HZ_IDLE is not set > > ./generic/CONFIG_NO_HZ_IDLE:CONFIG_NO_HZ_IDLE=y > > [prarit@prarit fedora]$ find ./ -name *NO_HZ_FULL* | xargs grep ^ > > ./generic/x86/x86_64/CONFIG_NO_HZ_FULL:CONFIG_NO_HZ_FULL=y > > ./generic/CONFIG_NO_HZ_FULL:# CONFIG_NO_HZ_FULL is not set > > > > FWIW I think the correct thing to do for performance reasons is use NO_HZ_FULL > > on all arches except s390x which requires NO_HZ_IDLE. > > > Yes, I do believe this is the correct thing to do, as to how we got > into the current state, when NO_HZ_FULL was introduced, it was x86_64 > only. Other architectures came in eventually, but as they were already > set to NO_HZ_IDLE, it didn't prompt us, and to be honest, we were > paying less attention to the other architectures back then. It has > been a while. I will get the changes made in rawhide with tomorrow's > builds. It looks good on the arm architectures, thanks for everyone's feedback. Peter _______________________________________________ kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx