Date: Tue, 27 May 1997 10:23:31 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: msmith@atrad.adelaide.edu.au (Michael Smith) Cc: roberto@keltia.freenix.fr, freebsd-current@FreeBSD.ORG Subject: Re: Weird behaviour from the Linux emulator Message-ID: <199705271723.KAA15619@phaeton.artisoft.com> In-Reply-To: <199705270615.PAA28391@genesis.atrad.adelaide.edu.au> from "Michael Smith" at May 27, 97 03:45:41 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > I understand the need to shadow the real filesystem but it should be done > > only for the search for libraries/binaries, not for every open(2) call. > > Aha. And how do you think that libraries/binaries are searched for, if > not by open(2)? Then how about configuration files, hmm? Binaries are searched by execve(), of course; it's possible to distinguish a file being opened for read from one being opened for execution. This is the basis for my argument for an option for prefaulting to swap on a remote file system load of an executable so that my client machines don't hang when my NFS server is being rebooted. As far as shared libraries go, they can be faulted the same way when an mmap() with the PROT_EXEC flag occurs. For shared libraries, this is before the crt0.o code calls _main in the first place. For dlopen(), well, you take your chances (like you currently do anyway) and you recommend in the man page that the open occur as soon as possible to trigger the fault to swap. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705271723.KAA15619>