Abhishek Bhardwaj <abhishekbh@xxxxxxxxxx> writes: > This change adds a new kernel configuration that sets the l1d cache > flush setting at compile time rather than at run time. > > The reasons for this change are as follows - > > - Kernel command line arguments are getting unwieldy. These parameters > are not a scalable way to set the kernel config. They're intended as a > super limited way for the bootloader to pass info to the kernel and > also as a way for end users who are not compiling the kernel themselves > to tweak the kernel behavior. > > - Also, if a user wants this setting from the start. It's a definite > smell that it deserves to be a compile time thing rather than adding > extra code plus whatever miniscule time at runtime to pass an > extra argument. > > - Finally, it doesn't preclude the runtime / kernel command line way. > Users are free to use those as well. TBH, I don't see why this is a good idea. 1) I'm not following your argumentation that the command line option is a poor Kconfig replacement. The L1TF mode is a boot time (module load time) decision and the command line parameter is there to override the carefully chosen and sensible default behaviour. 2) You can add the desired mode to the compiled in (partial) kernel command line today. 3) Boot loaders are well capable of handling large kernel command lines and the extra time spend for reading the parameter does not matter at all. 4) It's just a tiny part of the whole speculation maze. If we go there for L1TF then we open the flood gates for a gazillion other config options. 5) It's completely useless for distro kernels. 6) The implementation is horrible. We have proper choice selectors which allow to add parseable information instead of random numbers and a help text. Sorry, you need to find better arguments than 'unwieldy and smell' to make this palatable. Thanks, tglx