chris-fengtian-guo

Results 7 comments of chris-fengtian-guo

The hardware info [root@control01 ~]# dmidecode |more # dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 3.0.0 present. Table at 0x6F8EC000. Handle 0x0000, DMI type 0, 24 bytes BIOS Information...

Hello. Thanks for your reply and suggestion. and hope the following info can help 1) I have attach my draft patch 2) Thanks for your suggest and we increase the...

> 你好:              可以参考这个x86 的链接中的前5步              https://blog.csdn.net/lsky380/article/details/90769058 > […](#) > ------------------ 原始邮件 ------------------ 发件人: "rockchip-linux/kernel" ***@***.***>; 发送时间: 2023年6月16日(星期五) 下午4:20 ***@***.***>; ***@***.******@***.***>; 主题: Re: [rockchip-linux/kernel]...

> 同问: 你用cyclitest测试的抖动是多少? 我想用了ftrace去跟踪影响抖动的原因, 可是在启用PREEMPT_RT_FULL, 然后开启ftrace 直接死机,没有任何输出. > > 我使用的内核是4.19. 已经设置了cpu和irq隔离,cpu亲和, 测试结果是抖动大概是200us左右. 负载如下: 测试命令: cyclictest -l100000000 -m -Sp90 -i200 -h400 压力负载: stressapptest -M 500 -C -W -s 30000000 GPU负载: glmark2-es2-wayland...

这个内核崩溃问题, 我已经解决了。 我用的是rk3588

1) bug1 , 通过分析coredump 涉及的代码,垂直补强知识。 最后怀疑到 cpufreq_acct_update_power 因为最初解决这个问题 担心坑很多,也联系了rockchip 2个主板厂商 - 淘宝 - 其中一个要报价5w . 我还是自研解决。 1 因为高精度时钟 频率太高,不能将其进行线程化 , 否则将下半部延迟到内核线程里 , 时间精度无法保证。 https://zhuanlan.zhihu.com/p/604906019 (参考这个问题解决) 分析与解决: 这个中断是系统核心timer服务,至关重要。其通过request_percpu_irq注册中断isr,并不是常规request_irq或request_thread_irq,无法线程化。 继续分析崩溃调用栈,在崩溃前最后的操作为cpufreq_cpu_get,通过分析其源码,基本找到__account_system_time函数中调用了cpufreq_acct_update_power,其中又调用了rt_spin_lock函数导致崩溃。 通过分析cpufreq_acct_update_power函数,发现通过宏定义:CONFIG_CPU_FREQ_TIMES可以屏蔽该函数,进而不调用rt_spin_lock。 经测试,在menuconfig中,屏蔽CONFIG_CPU_FREQ_TIMES后,系统能正常启动到login环节。...

calldump 并不影响linux系统启动和运行。 1) 已经把第一个calldump 原因调查清楚了。 下面是解决方案。 rockchip_dfi_get_event() 它会关闭该CPU上的中断。 local_irq_save(flags) busier_ch = rockchip_dif_get_bussier_ch(edev); local_irq_restore(flags); 2) 但是里面更新事件 , 来重新设置设备的频率, 通过regmap_read() 它会调用regmap_lock_spinlock() 实际上rt把spinlock替换成了mutex 会切换进程-睡眠-这个就是报错的calldump 原因 ___might_sleep() 3) 可能的解决方案, 调用 __regmap_init() 里面,锁有类型是regmap_lock_mutex , 而出bug的是设置位regmap_lock_spinlock,其中bus...