What are .config parameters for my kernel?

Rick Stevens ricks at nerd.com
Thu Oct 29 19:14:35 UTC 2009


Jonathan Ryshpan wrote:
> I had thought that they would come from the .config file from either the
> kernel-source.rpm or the kernel-devel.rpm for my current kernel.  But
> these two files are different.  I run the latest kernel, namely
> linux-2.6.30.x86_64 .  In particular, is my current kernel PREEMPT or
> VOLUNTARY_PREEMPT?  Any way to find this out?
> 
> I know I can get the kernel I want (PREEMPT) by rebuilding, but it would
> be nice to avoid this, and also to be able to settle this question in
> general.
> 
> Thanks - jon
> 
> =========== diffs between kernel-source and kernel-devel ===========
> 
> $ diff -c ~/rpmbuild/BUILD/kernel-2.6.30/linux-2.6.30.x86_64/.config /usr/src/kernels/2.6.30.9-90.fc11.x86_64/.config
> *** /home/jonrysh/rpmbuild/BUILD/kernel-2.6.30/linux-2.6.30.x86_64/.config	Tue Oct 27 20:25:44 2009
> --- /usr/src/kernels/2.6.30.9-90.fc11.x86_64/.config	Sat Oct 17 08:38:07
> 2009
> ***************
> *** 1,7 ****
>   #
>   # Automatically generated make config: don't edit
> ! # Linux kernel version: 2.6.30.8
> ! # Tue Oct 27 20:25:44 2009
>   #
>   CONFIG_64BIT=y
>   # CONFIG_X86_32 is not set
> --- 1,7 ----
>   #
>   # Automatically generated make config: don't edit
> ! # Linux kernel version: 2.6.30.9-90.fc11.x86_64
> ! # Sat Oct 17 11:22:55 2009
>   #
>   CONFIG_64BIT=y
>   # CONFIG_X86_32 is not set
> ***************
> *** 284,291 ****
>   CONFIG_SCHED_SMT=y
>   CONFIG_SCHED_MC=y
>   # CONFIG_PREEMPT_NONE is not set
> ! # CONFIG_PREEMPT_VOLUNTARY is not set
> ! CONFIG_PREEMPT=y
>   CONFIG_X86_LOCAL_APIC=y
>   CONFIG_X86_IO_APIC=y
>   CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
> --- 284,291 ----
>   CONFIG_SCHED_SMT=y
>   CONFIG_SCHED_MC=y
>   # CONFIG_PREEMPT_NONE is not set
> ! CONFIG_PREEMPT_VOLUNTARY=y
> ! # CONFIG_PREEMPT is not set
>   CONFIG_X86_LOCAL_APIC=y
>   CONFIG_X86_IO_APIC=y
>   CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
> ***************
> *** 3298,3304 ****
>   CONFIG_USB_STORAGE_ALAUDA=m
>   CONFIG_USB_STORAGE_ONETOUCH=m
>   CONFIG_USB_STORAGE_KARMA=m
> ! CONFIG_USB_STORAGE_CYPRESS_ATACB=m
>   # CONFIG_USB_LIBUSUAL is not set
>   
>   #
> --- 3298,3304 ----
>   CONFIG_USB_STORAGE_ALAUDA=m
>   CONFIG_USB_STORAGE_ONETOUCH=m
>   CONFIG_USB_STORAGE_KARMA=m
> ! # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
>   # CONFIG_USB_LIBUSUAL is not set
>   
>   #
> ***************
> *** 3969,3975 ****
>   # CONFIG_DEBUG_OBJECTS is not set
>   # CONFIG_SLUB_DEBUG_ON is not set
>   # CONFIG_SLUB_STATS is not set
> - CONFIG_DEBUG_PREEMPT=y
>   # CONFIG_DEBUG_RT_MUTEXES is not set
>   # CONFIG_RT_MUTEX_TESTER is not set
>   # CONFIG_DEBUG_SPINLOCK is not set
> --- 3969,3974 ----
> ***************
> *** 3977,3983 ****
>   # CONFIG_DEBUG_LOCK_ALLOC is not set
>   # CONFIG_PROVE_LOCKING is not set
>   # CONFIG_LOCK_STAT is not set
> - CONFIG_TRACE_IRQFLAGS=y
>   CONFIG_DEBUG_SPINLOCK_SLEEP=y
>   # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
>   CONFIG_STACKTRACE=y
> --- 3976,3981 ----
> ***************
> *** 4024,4031 ****
>   #
>   CONFIG_FUNCTION_TRACER=y
>   # CONFIG_FUNCTION_GRAPH_TRACER is not set
> ! CONFIG_IRQSOFF_TRACER=y
> ! # CONFIG_PREEMPT_TRACER is not set
>   CONFIG_SYSPROF_TRACER=y
>   CONFIG_SCHED_TRACER=y
>   CONFIG_CONTEXT_SWITCH_TRACER=y
> --- 4022,4028 ----
>   #
>   CONFIG_FUNCTION_TRACER=y
>   # CONFIG_FUNCTION_GRAPH_TRACER is not set
> ! # CONFIG_IRQSOFF_TRACER is not set
>   CONFIG_SYSPROF_TRACER=y
>   CONFIG_SCHED_TRACER=y
>   CONFIG_CONTEXT_SWITCH_TRACER=y

The config parameters for kernels installed by RPM packages are in
/boot.  Look for "config-(kernelversion)" files.  For example, to
see if my current kernel was compiled with PREEMPT:

	[root at bigdog ~]# grep PREEMPT /boot/config-`uname -r`
	# CONFIG_PREEMPT_RCU is not set
	# CONFIG_PREEMPT_RCU_TRACE is not set
	CONFIG_PREEMPT_NOTIFIERS=y
	# CONFIG_PREEMPT_NONE is not set
	CONFIG_PREEMPT_VOLUNTARY=y
	# CONFIG_PREEMPT is not set

So, no, my kernel is not compiled with PREEMPT set.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer                      ricks at nerd.com -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-          "How does that damned three seashell thing work?"         -
-                           - Sylvester Stallone, "Demolition Man"   -
----------------------------------------------------------------------




More information about the fedora-list mailing list