Exporting cpu instruction set to kernel .config file

FMDF fmdefrancesco at gmail.com
Wed Mar 2 20:05:34 EST 2022

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.


Fabio M. De Francesco

> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20220303/ca5cf083/attachment.html>

More information about the Kernelnewbies mailing list