Re: rmap.c: try_to_unmap_file(): VM_LOCKED not respected

From: li nux
Date: Tue Jun 14 2005 - 02:27:15 EST



--- William Lee Irwin III <wli@xxxxxxxxxxxxxx> wrote:

> On Mon, Jun 13, 2005 at 10:48:13PM -0700, li nux
> wrote:
> > I first use mmap(MAP_LOCKED) and then
> > remap_file_pages.
> > This should set VM_LOCKED in the vma.
>
> This is very odd. Could you get a backtrace with
> code addresses resolved
> to line numbers?
>
> When you get backtraces, it should show program
> counters (EIP's on i386,
> RIP's on x86-64, other names on others). If you
> compile with debugging
> symbols and keep the vmlinux, you can use addr2line
> to resolve them to
> addresses. Hopefully this is enough for you to go
> on.
>
> If you can provide this information, it would be
> very helpful wrt.
> resolving your issue.
>
> Thanks.
> -- wli

Thanks a lot wli.
Sorry, I dont have that machine where i reproduced
this problem. Stack trace (in my first mail) is the
only info that I have with me. There is no other
application running on the system which uses
remap_file_pages (non-linear vma)

Coming to my original question. when I do
mmap(MAP_LOCKED) VM_LOCKED gets set for the vma.
who sets VM_RESERVED, does this flag has to do
anything when VM_LOCKED is already set ?

do {
list_for_each_entry(vma, &mapping->i_mmap_nonlinear,

shared.vm_set.list) {
if (vma->vm_flags & (VM_LOCKED|VM_RESERVED))
continue;
cursor = (unsigned long) vma->vm_private_data;
while (vma->vm_mm->rss &&
cursor < max_nl_cursor &&
cursor < vma->vm_end - vma->vm_start) {

try_to_unmap_cluster(cursor, &mapcount, vma);
cursor += CLUSTER_SIZE;
}
.....<snip>
} while (max_nl_cursor <= max_nl_size);





__________________________________
Discover Yahoo!
Use Yahoo! to plan a weekend, have fun online and more. Check it out!
http://discover.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/