Linux kernel 即使安装了分区,jffs2 gabrage收集器也会运行

Linux kernel 即使安装了分区,jffs2 gabrage收集器也会运行,linux-kernel,jffs2,Linux Kernel,Jffs2,我使用JFFS2分区作为根分区,将其作为RO安装在命令行(和fstab)中。它是Montavista 5.0 linux(2.6.18) 一切都正常,除了当linux到达我的应用程序时,jffs2_gcd_mtd3会用98%的CPU时间忙碌大约15秒。这对我来说是不可接受的 我搜索了linux代码,发现GC线程只有在装入RW时才会启动,但在我的例子中,它仍然会启动 我试图挂载它rw和卸载afterwords,但是 谢谢 更新:关于GC守护进程的声明是错误的-我在错误中看到了它。问题的主要原因是J

我使用JFFS2分区作为根分区,将其作为RO安装在命令行(和fstab)中。它是Montavista 5.0 linux(2.6.18)

一切都正常,除了当linux到达我的应用程序时,jffs2_gcd_mtd3会用98%的CPU时间忙碌大约15秒。这对我来说是不可接受的

我搜索了linux代码,发现GC线程只有在装入RW时才会启动,但在我的例子中,它仍然会启动

我试图挂载它rw和卸载afterwords,但是

谢谢

更新:关于GC守护进程的声明是错误的-我在错误中看到了它。问题的主要原因是JFFS2的工作速度与我之前使用的YAFFS2相比非常缓慢。只是比较一下——我的ELF格式的14MiB应用程序从YAFFS2加载只需2-2.5秒,而从JFFS2加载大约需要8秒。!!! 这让我觉得有什么东西阻挡了Linux


现在,问题变成了:是什么让JFFS2变得如此缓慢!?!?再一次,分区被挂载了

好的,答案如下:
JFFS2装载120MiB的分区需要很多时间——大约10秒,在运行于300MHz的ARM5上。这里没有任何帮助-sumtools,使用R/W卸载(以编写摘要)。
我通过:
-不将不必要/未使用的空间包含到Linux分区中
-将70MiB的其余部分分成两部分——一部分是包含所有Linux内容的55MiB,另一部分是包含我的应用程序及其文件的15MiB

这就解决了问题。时间大约为2-3秒