After quite a bit of analysis and other research, I have found that the
Linux Test Project mincore01 (memory-in-core) tests are invalid in that
they always expect a failure when a success is sometimes valid.

I learned a lot from this exercise as I had to instrument the kernel
with printk statements and follow the code.

The tests use mmap and mincore to check if memory is in core or not
(swapped).   Internally the kernel memory for a process is managed via
vma structures (virtual memory area) in a linked list.

The mmap function associates a memory area with a file or an "anonymous"
area and creates an associated vma structure.

The kernel's mincore function cycles through the vma list, starting at
the address in the function call, checking to see if specific memory
pages are in memory and associated with (any) file.  If adjacent areas
are properly mapped, the LTP mincore01 tests incorrectly reports an
"unexpected success".

After a brief exchange on lkml, I also found that 2.6.21-rc changes
mincore to succeed on anonymous areas too, so the other mincore01 tests
may fail in the future.  I have filed a bug with the LTP about this problem.


The bottom line is that all the base tests of the LTP either pass or can
be explained as proper for LFS builds.

  -- Bruce


-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to