Exporting cpu instruction set to kernel .config file

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

On Thu, 3 Mar 2022, 02:05 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

I was about to forget three more things:

1) Read Torin's answer because he is right.
2) Don't touch configuration's options that you don't know. For instance,
do you know if you should enable "CONFIG_CORE_SCHED"? Just think that you
can inadvertently disable Intel Hyperthreading with that option.
3) Just copy your distro's .config and re-compile :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20220303/284aa019/attachment-0001.html>

More information about the Kernelnewbies mailing list