Created attachment 8436666 [details] [diff] [review] Disable-KSM-in-sp7715ga-native_defconfig.patch Following the discussion on ksmd for the Flame (see https://groups.google.com/forum/#!topic/mozilla.dev.b2g/24ZtvAljpro and bug 1021400), I noted that Dolphin also has it running. It is typically using between 1% and 3%. As per the comment by Gabriele Svelto on the mailing list (see google group linked above), we should turn it off: "It's really something meant for servers running lots of identical apps that do not share memory by default (such as VMs) so it's got no business on a phone (especially after Nuwa landed)." Turning it off is easy, see the attached patch. Can we have the vendor do this or are there any reasons on their side for keeping ksmd enabled?
Confirming, we've seen this on Flame too in bug 1021400 and it doesn't make any sense to have it enabled.
James, I agreed with Andreas's suggestion. If there is no reason to keep ksmd enabled, we should turn it off. Could you ask your kernel team to review and merge Andreas patch. Thanks!
Kaizhen, I have merged this patch for scx15_x3542, but I never see 1%~3% ksm cpu usage on dolphin 256MB device.
James, I checked in latest kernel source, KSM is enabled in all 7715 kernel config. -- kernel/arch/arm/configs$ grep "KSM" sp7715* sp7715ea-native_defconfig:CONFIG_KSM=y sp7715eaopenphone-native_defconfig:CONFIG_KSM=y sp7715eatrisim-native_defconfig:CONFIG_KSM=y sp7715ga-native_defconfig:CONFIG_KSM=y sp7715ga-native-hvga_defconfig:CONFIG_KSM=y sp7715gatrisim-native_defconfig:CONFIG_KSM=y -- Do you have any special board config for scx15_x3542?
commit a16c48e085d4b0b6267e2fa0192d1ff071512121 Author: xiang.bao <firstname.lastname@example.org> Date: Fri Aug 1 14:35:44 2014 +0800 Bug #339337 - [FirefoxOS_v1.4][X3542] remove ksmd process [bug number ] 339337 [root cause ] need remove ksmd [changes ] remove ksmd [side effects] [self test ] ok [whether AOB ] [reviewers ] Change-Id: Id116a8f8f30b77e311191da5f87bc10a4cb6d984 diff --git a/arch/arm/configs/x3542-native_defconfig b/arch/arm/configs/x3542-native_defconfig index 78f5132..2826a1d 100644 --- a/arch/arm/configs/x3542-native_defconfig +++ b/arch/arm/configs/x3542-native_defconfig @@ -456,7 +456,7 @@ CONFIG_MIGRATION=y # CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_ZONE_DMA_FLAG=0 CONFIG_BOUNCE=y -CONFIG_KSM=y +#CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_NEED_PER_CPU_KM=y
James, below is what we monitor CPU usage of ksmd by top every 1s. 22 22 0 1% S 0K 0K fg root ksmd 22 22 0 1% S 0K 0K fg root ksmd 22 22 0 2% S 0K 0K fg root ksmd 22 22 0 1% S 0K 0K fg root ksmd 22 22 0 1% S 0K 0K fg root ksmd 22 22 0 0% S 0K 0K fg root ksmd 22 22 0 2% S 0K 0K fg root ksmd 22 22 0 3% S 0K 0K fg root ksmd
OK, please repo sync the latest code. I have land this patch in device/sprd and kernel git repo.