Message ID | CAOMZO5Bot=XuByN2e4FsZi=T+ZNJv5aFtbfGtKFfASEoLQPvuA@mail.gmail.com |
---|---|
State | New |
Headers | show |
On Fri, Jul 21, 2017 at 01:29:08PM -0300, Fabio Estevam wrote: > Hi Russell, > > On Thu, Jul 20, 2017 at 8:53 PM, Russell King - ARM Linux > <linux@armlinux.org.uk> wrote: > > > Another thing to check is that you have features like the spinlock > > debug, semaphore debug, lockdep, tracing etc all disabled - these > > can add quite a bit of additional processing into critical paths. > > Yes, this really helps. > > On my tests with Noel's application the execution time goes from 41 to > 22 seconds on kernel 4.13-rc1. > > Here is the defconfig changes generated by manually removing these > features and then using savedefconfig: Note - you want lockdep and so forth enabled for development kernels to catch bugs before changes are submitted upstream. However, for kernels that you care about performance, you need to have them disabled. Like everything it's a balance between function and performance.
On Fri, Jul 21, 2017 at 1:34 PM, Russell King - ARM Linux <linux@armlinux.org.uk> wrote: > Note - you want lockdep and so forth enabled for development kernels > to catch bugs before changes are submitted upstream. However, for > kernels that you care about performance, you need to have them disabled. > > Like everything it's a balance between function and performance. Yes, it makes sense. Thanks for the suggestion!
Hi all, As soon as I read the hints from Russell, I was convinced that there COULD be a big performance gain , by disabling debugging features. I did not find time to check this ( we have national holidays here in our country, and we start our annual holidays) But you can count on it when I test (russell's hint's) I'll report back my findings, but .. i'm almost sure , and it is at least pointing me into a direction to look at, one that I overlooked..) I see that Fabio did test, russell's hint's and that he had a huge improvement, fabio's first test results look promising , thats for sure ! Like Russel says, and like we all understand, it's a balance of functions vs performance. Thanks all for the Hints.. and I'll report back as soon as possible. Keeping fingers crossed in the meantime. Regards Noel
Hi all, Just reporting back ... I did follow Russel's recommendation ... and very happy with the result. Turned lockdep off , this did it did it ! Both kernels ( I compare, 2.6.35 and 4.4.x) are running at the same speed now . +10 for Russel... Thanks to all, for the feedback and recommendations, Noel
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index 49e7969..21a37bd 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig @@ -9,6 +9,7 @@ CONFIG_CGROUPS=y CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_EXPERT=y +CONFIG_KALLSYMS_ALL=y CONFIG_PERF_EVENTS=y # CONFIG_SLUB_DEBUG is not set # CONFIG_COMPAT_BRK is not set @@ -80,7 +81,6 @@ CONFIG_CAN_FLEXCAN=y CONFIG_BT=y CONFIG_BT_HCIUART=y CONFIG_BT_HCIUART_H4=y -CONFIG_BT_HCIUART_LL=y CONFIG_CFG80211=y CONFIG_CFG80211_WEXT=y CONFIG_MAC80211=y @@ -166,9 +166,9 @@ CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_TOUCHSCREEN_EGALAX=y +CONFIG_TOUCHSCREEN_MAX11801=y CONFIG_TOUCHSCREEN_IMX6UL_TSC=y CONFIG_TOUCHSCREEN_EDT_FT5X06=y -CONFIG_TOUCHSCREEN_MAX11801=y CONFIG_TOUCHSCREEN_MC13783=y CONFIG_TOUCHSCREEN_TSC2004=y CONFIG_TOUCHSCREEN_TSC2007=y @@ -177,7 +177,6 @@ CONFIG_TOUCHSCREEN_SX8654=y CONFIG_TOUCHSCREEN_COLIBRI_VF50=y CONFIG_INPUT_MISC=y CONFIG_INPUT_MMA8450=y -CONFIG_HID_MULTITOUCH=y CONFIG_SERIO_SERPORT=m # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_IMX=y @@ -237,7 +236,6 @@ CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_SOC_CAMERA=y CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_CODA=m -CONFIG_SOC_CAMERA_OV2640=y CONFIG_IMX_IPUV3_CORE=y CONFIG_DRM=y CONFIG_DRM_PANEL_SIMPLE=y @@ -274,6 +272,7 @@ CONFIG_SND_SOC_CS42XX8_I2C=y CONFIG_SND_SOC_TLV320AIC3X=y CONFIG_SND_SOC_WM8960=y CONFIG_SND_SIMPLE_CARD=y +CONFIG_HID_MULTITOUCH=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_MXC=y @@ -388,7 +387,7 @@ CONFIG_PRINTK_TIME=y CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set -CONFIG_PROVE_LOCKING=y +CONFIG_STACKTRACE=y # CONFIG_DEBUG_BUGVERBOSE is not set # CONFIG_FTRACE is not set # CONFIG_ARM_UNWIND is not set