Closed amboar closed 7 years ago
It seems that aspeed_defconfig
enables some options which are causing us to stall, namely:
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
From my own config it looks like we should also set CONFIG_HZ_PERIODIC=y
The way that the timers are used changes from dev-4.3 to dev-4.4, with dev-4.4 making heavier use of the device's clock-value-matching feature. This was apparent from tracing the writes to the registers on the qemu side.
I have a patch implementing clock value matching in the timer model which I'll push soon.
The linux kernel config from 4.4.6-openbmc-20160329-2 has no issue.
Here is a sample : https://gist.github.com/legoater/f08c341a65dfabfa953c8d67197a1767
Here is a fix for aspeed_defconfig when running under qemu
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
arch/arm/configs/aspeed_defconfig | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
Index: linux.git/arch/arm/configs/aspeed_defconfig
===================================================================
--- linux.git.orig/arch/arm/configs/aspeed_defconfig
+++ linux.git/arch/arm/configs/aspeed_defconfig
@@ -2,8 +2,8 @@ CONFIG_KERNEL_XZ=y
CONFIG_SYSVIPC=y
CONFIG_FHANDLE=y
CONFIG_IRQ_DOMAIN_DEBUG=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
+CONFIG_HZ_PERIODIC=y
+# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_LOG_BUF_SHIFT=14
CONFIG_CGROUPS=y
CONFIG_BLK_DEV_INITRD=y
@@ -13,7 +13,7 @@ CONFIG_BLK_DEV_INITRD=y
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_BPF_SYSCALL=y
-# CONFIG_SHMEM is not set
+CONFIG_SHMEM=y
# CONFIG_AIO is not set
CONFIG_EMBEDDED=y
# CONFIG_COMPAT_BRK is not set
@@ -127,6 +127,9 @@ CONFIG_FIRMWARE_MEMMAP=y
CONFIG_FANOTIFY=y
CONFIG_OVERLAY_FS=y
CONFIG_CONFIGFS_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_SUMMARY=y
CONFIG_NFS_FS=y
@legoater Thanks for reducing it down, that works for me under various qemu builds. However, I am getting warnings like [ 34.840000] serial8250: too much work for irq23
, which I haven't seen previously.
Can you send it as a patch against openbmc/linux dev-4.4 to @shenki and the OpenBMC mailing list?
@shenki @legoater I've pushed a patch that implements clock value matching for the aspeed timer model and allows us to boot with an unmodified aspeed_defconfig
from dev-4.4: amboar@cd0d1aa1c15c7621b67dfd123d402df438ab33c7
It seems we have an issue with the timers with a dev-4.4 kernel running on the palmetto-bmc qemu machine.