尝试在内核虚拟地址空间中分配页面时指针错误

时间:2017-04-26 04:09:39

标签: linux-kernel virtual-memory page-caching

我正在使用x86-64 CentOS 7上的Linux驱动程序。 我们有一个内核模块,可以读取和写入文件。 此模块尝试获取保证连续的页面。 当我尝试5 GB或10 GB的较小read/write个作业时,它可以正常工作。我得到了正确的内核虚拟地址空间指针,如0xffff 8xxx xxxx xxxx
但是,如果我尝试更大的工作/数据(例如20到50 GB),那么我会得到这些类似0x0000 00xx xxxx xxxxx的地址指针。这些不是内核虚拟地址空间指针。

由于这个原因,我发现操作系统崩溃了。 但是,如果我在作业期间使用echo 3 > /proc/sys/vm/drop_caches清除缓存频率,那么它工作正常,我得到正确的内核虚拟地址空间指针。

我为这种模糊的问题道歉。 欢迎任何提示和建议。

由于

0 个答案:

没有答案