Exporting cpu instruction set to kernel .config file

Rogério Valentim Feitoza da Silva rogerio.silva3920 at gmail.com
Thu Mar 3 19:52:50 EST 2022


On Wednesday, 2 March 2022, FMDF <fmdefrancesco at gmail.com> wrote:

> On Wed, 2 Mar 2022, 17:57 Guddla Rupesh, <rupeshforu3 at gmail.com> wrote:
>
>> I have seen the config from /proc/config.gz and found that processor
>> family as generic x86 64.
>>
>> Actually my system consists of i3 10th gen comet lake 10100 which has
>> integrated graphics and pci express 4.0 and also lots of new instructions
>> like avx2, sse4 etc.,.
>>
> Therefore, in .config, you should enable x86-64. That's it. Simple.
>
>> The main reason of compiling source code of kernel is it detects all my
>> hardware and provide support for opencl, video acceleration etc.,. But I
>> can't find any option to select my processor especially comet lake or
>> atleast skylake and instead there is an option called core2 in the section
>> processor family.
>>
> There are no Cometlake or Skylake options for kernel compilation. Your
> recent CPU is already supported and the whole ISA is available. Compilers
> know your system and they know which instructions are better suited for
> your applications and kernel code.
>
>> Finally I have disabled secure boot mode in bios and compiled source code
>> successfully and now I am able to boot into the latest build kernel but
>> there is no difference in performance between old and new kernels.
>>
> Why have you disabled secure boot mode? If performance concerns you, don't
> worry about it: there is no loss of performance with secure boot.
>
>> I think that normal kernel shipped by the distro is generic and it
>> doesn't have support for latest instructions like avx2, sse4 etc.,. To get
>> support we must compile kernel with lots of tuning.
>>
> No, you're wrong :)
>
> Just select the highest available processor family (I can't recall now if
> it is "core2" or "generic x86_64", it's the last of the list in the
> "processor family" section if you use "make menuconfig") and the entire
> instruction set of Intel x86-64 will be enabled and available.
>
> There is neither a "CONFIG_GENERATION_11" nor similar options.
>
>> I have exported the modules running on system and disable others by
>> running the command
>>
>> make localmodconfig
>>
> Beware that using "localmodconfig" disables the build of lots of modules
> you may need in the future. It relies on the current system configuration.
> When you'll add new devices you'll have to enable their drivers and
> recompile the modules.
>
>> What I want is " is there any way to export my cpu instruction set to
>> kernel .config file and compile kernel and install the modules.".
>>
>> If I can compile kernel source code then my Linux system will run at
>> extreme speeds never before.
>>
> You might tune the optimization flags of (e.g., GCC's "-On", for n=0,1,2,
> and  others) but I strongly advise you to not do this because (1) it is
> clear that you don't understand how the code is compiled and (2) you
> probably won't get the results you think you should get.
>
> Regards,
>
> Fabio M. De Francesco
>
> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
> No kernel should be compiled with compiler optimization, because the
compiler might remove CPU instructions and code that might look
"unnecessary" but are actually required.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20220303/ff06e9c6/attachment-0001.html>


More information about the Kernelnewbies mailing list