F17 Slowness

Adam Williamson awilliam at redhat.com
Thu Feb 16 23:46:51 UTC 2012


On Thu, 2012-02-16 at 16:38 -0500, David Malcolm wrote:
> On Thu, 2012-02-16 at 15:16 -0600, Bruno Wolff III wrote:
> > On Thu, Feb 16, 2012 at 14:40:53 -0500,
> >   David Malcolm <dmalcolm at redhat.com> wrote:
> > > On Thu, 2012-02-16 at 12:06 -0500, Dave Jones wrote:
> > > > On Thu, Feb 16, 2012 at 10:44:45AM -0600, Mike Chambers wrote:
> > > >  > Just seeing if it's just me, or we back to being slow again during
> > > >  > testing with the debug options and the kernel?  Am on a F16 kernel and
> > > >  > is little better than F17 3.3 kernels.
> > > > 
> > > > the first -rc build of each kernel release has debug turned off.
> > > > subsequent builds reenable it.
> > > 
> > > Is it possible to directly observe whether or not debugging is turned on
> > > at runtime e.g. via some magic value in /proc or /sys ?
> > 
> > If you look at the koji build information, the package list is different for
> > release builds and debug builds.
> 
> My question was about "at runtime": my thinking was that it's useful to
> spell out to the user that they shouldn't expect the final released
> performance from the current system, perhaps adding a message somewhere
> in the UI, so that certain websites who shall remain nameless don't try
> to benchmark the debug builds.

Well, there's a bit of a problem in that there's quite a lot of config
options that are flipped between 'debug' and 'release' kernels, it's not
_really_ a single big switch. This is the diff:

--- /tmp/debug	2012-02-16 15:45:01.600491773 -0800
+++ /tmp/release	2012-02-16 15:44:57.855445239 -0800
@@ -1,7 +1,7 @@
 CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
 # CONFIG_CGROUP_DEBUG is not set
-CONFIG_DEBUG_BLK_CGROUP=y
-CONFIG_DEBUG_PERF_USE_VMALLOC=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
 CONFIG_SLUB_DEBUG=y
 CONFIG_HAVE_DMA_API_DEBUG=y
 CONFIG_XEN_DEBUG_FS=y
@@ -10,8 +10,7 @@
 CONFIG_PM_DEBUG=y
 CONFIG_PM_ADVANCED_DEBUG=y
 CONFIG_ACPI_EC_DEBUGFS=m
-CONFIG_ACPI_DEBUG=y
-# CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
+# CONFIG_ACPI_DEBUG is not set
 # CONFIG_ACPI_APEI_ERST_DEBUG is not set
 # CONFIG_PCIEASPM_DEBUG is not set
 # CONFIG_PCI_DEBUG is not set
@@ -26,7 +25,7 @@
 # CONFIG_LIB80211_DEBUG is not set
 CONFIG_WIMAX_DEBUG_LEVEL=8
 # CONFIG_NET_9P_DEBUG is not set
-CONFIG_CEPH_LIB_PRETTYDEBUG=y
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
 # CONFIG_DEBUG_DRIVER is not set
 CONFIG_DEBUG_DEVRES=y
 # CONFIG_PNP_DEBUG_MESSAGES is not set
@@ -85,19 +84,18 @@
 CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
 # CONFIG_EDAC_DEBUG is not set
 # CONFIG_RTC_DEBUG is not set
-CONFIG_DMADEVICES_DEBUG=y
-CONFIG_DMADEVICES_VDEBUG=y
+# CONFIG_DMADEVICES_DEBUG is not set
 CONFIG_DRM_NOUVEAU_DEBUG=y
 # CONFIG_FUJITSU_LAPTOP_DEBUG is not set
 # CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
 # CONFIG_THINKPAD_ACPI_DEBUG is not set
-CONFIG_EXT4_DEBUG=y
-CONFIG_JBD2_DEBUG=y
+# CONFIG_EXT4_DEBUG is not set
+# CONFIG_JBD2_DEBUG is not set
 # CONFIG_JFS_DEBUG is not set
 # CONFIG_XFS_DEBUG is not set
 # CONFIG_OCFS2_DEBUG_MASKLOG is not set
 # CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_QUOTA_DEBUG=y
+# CONFIG_QUOTA_DEBUG is not set
 # CONFIG_FSCACHE_DEBUG is not set
 # CONFIG_CACHEFILES_DEBUG is not set
 # CONFIG_BEFS_DEBUG is not set
@@ -109,47 +107,34 @@
 CONFIG_DEBUG_KERNEL=y
 CONFIG_DEBUG_SHIRQ=y
 CONFIG_SCHED_DEBUG=y
-CONFIG_DEBUG_OBJECTS=y
-# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
-CONFIG_DEBUG_OBJECTS_FREE=y
-CONFIG_DEBUG_OBJECTS_TIMERS=y
-CONFIG_DEBUG_OBJECTS_WORK=y
-CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
-CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
-CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
-CONFIG_SLUB_DEBUG_ON=y
-CONFIG_DEBUG_KMEMLEAK=y
-CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
-# CONFIG_DEBUG_KMEMLEAK_TEST is not set
-CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_RT_MUTEXES=y
-CONFIG_DEBUG_PI_LIST=y
-CONFIG_DEBUG_SPINLOCK=y
-CONFIG_DEBUG_MUTEXES=y
-CONFIG_DEBUG_LOCK_ALLOC=y
-# CONFIG_DEBUG_LOCKDEP is not set
-CONFIG_DEBUG_ATOMIC_SLEEP=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
 # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_DEBUG_STACK_USAGE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
 # CONFIG_DEBUG_KOBJECT is not set
 CONFIG_DEBUG_BUGVERBOSE=y
 CONFIG_DEBUG_INFO=y
 # CONFIG_DEBUG_INFO_REDUCED is not set
-CONFIG_DEBUG_VM=y
+# CONFIG_DEBUG_VM is not set
 # CONFIG_DEBUG_VIRTUAL is not set
-CONFIG_DEBUG_WRITECOUNT=y
+# CONFIG_DEBUG_WRITECOUNT is not set
 CONFIG_DEBUG_MEMORY_INIT=y
 CONFIG_DEBUG_LIST=y
-CONFIG_DEBUG_SG=y
-CONFIG_DEBUG_NOTIFIERS=y
-CONFIG_DEBUG_CREDENTIALS=y
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
 # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
 # CONFIG_DEBUG_PER_CPU_MAPS is not set
-CONFIG_FAULT_INJECTION_DEBUG_FS=y
 # CONFIG_DEBUG_PAGEALLOC is not set
 CONFIG_DYNAMIC_DEBUG=y
-CONFIG_DMA_API_DEBUG=y
+# CONFIG_DMA_API_DEBUG is not set
 CONFIG_DEBUG_STACKOVERFLOW=y
 CONFIG_DEBUG_RODATA=y
 CONFIG_DEBUG_RODATA_TEST=y

You can pick one of those which should rarely appear or disappear -
CONFIG_ACPI_DEBUG is probably a good one - and do:

grep -i CONFIG_ACPI_DEBUG /boot/config-`uname -r`

for a quick check. 'not set' = release kernel. 'Y' = debug kernel.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | identi.ca: adamwfedora
http://www.happyassassin.net



More information about the devel mailing list