我想阅读和理解Linux内核的内存管理(特别是defrag\压实\迁移)。
因此,我关闭了.config中的大小优化(当然是使用menuconfig ),而compile...This给我留下了一个优化的内核。
注意:当我说优化内核时,我的意思是当我使用gdb并告诉它它会跳来跳去。我不想那样,我希望能够一行行地遵循代码,就像我想要一个简单的hello世界一样。
接下来,我将编辑Makefile并将-O2与-O0交换,这会导致一些事情中断。
我找到了这,但是我不知道我想要什么文件,因为我不知道兔子洞有多深。
是否有更通用的选项可供我使用?我理解内存压缩的概念;但是,我想知道所有事情发生在哪里,以及它是如何发生的。
发布于 2015-11-08 16:07:45
你不能去优化内核。您可能可以对某些功能进行去优化,如:
void __attribute__((optimize("O0"))) foo(unsigned char data) {
// unmodifiable compiler code
}但是内核作为一个整体需要-O2,因为代码本身的编写假设某些函数将以某种方式进行优化。
对不起,但是你真的需要知道你想去的兔子洞的大小。
https://stackoverflow.com/questions/29151235
复制相似问题