mlockall() failes on amd64
Martin Cracauer
cracauer at cons.org
Thu Sep 21 08:45:46 PDT 2006
Danny Braniss wrote on Sat, Sep 16, 2006 at 07:17:11PM +0300:
> > On Sep 16, 2:55pm, danny at cs.huji.ac.il (Danny Braniss) wrote:
> > -- Subject: mlockall() failes on amd64
> >
> > | with am-utils 6.1.5, on a amd64 6.1-STABLE kernel i see:
> > | Couldn't lock process pages in memory using mlockall()
> > | while it's ok on a i386:
> > | Locked process pages in memory
> > |
> >
> > We should really fix amd to print the errno string when system calls
> > fail; now we can only scratch our heads.
> >
> > christos
> sorry, here is the full message:
> Couldn't lock process pages in memory using mlockall(): Resource temporarily
> unavailable
>
> or error = EAGAIN (ED :-)
I didn't read the code, but one thing to check is that there is enough
paging space to move all dirty/cow/anonymous pages from all other
processes to to make room for your current process (including
file-backed pages which might not yet be in).
I imagine that on AMD64 some programs might overcommit much more since
it's "free" (you won't run out of virtual address space). But
mlockall will choke on it.
Martin
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer at cons.org> http://www.cons.org/cracauer/
FreeBSD - where you want to go, today. http://www.freebsd.org/
More information about the freebsd-amd64
mailing list