From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <490F1EF3.3070606@gmx.de> Date: Mon, 3 Nov 2008 16:55:31 +0100 From: Kernel Panic User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080313 SeaMonkey/1.1.9 MIME-Version: 1.0 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> References: <881195a3697792959fed01ea8b6980bf@terzarima.net> <45D12424-9708-4FA1-AC6D-347911D5437D@mac.com> In-Reply-To: <45D12424-9708-4FA1-AC6D-347911D5437D@mac.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [9fans] mmap and shared libraries Topicbox-Message-UUID: 2e2c1496-ead4-11e9-9d60-3106f5b1d025 dave.l@mac.com wrote: > A thought ... > > Shared libraries do 2 possibly useful things: > 1) save space > 2) stop you having to re-link when a new library is released. > > Now 2) doesn't really happen anyway, due to .so versioning hell, > so we're left with 1) ... > > I know it's kind-of hacky and unstructured (how do you know the venti > block size?), > but could you not block-align the library members in the .a, > so venti would do the sharing on disk for you? Look at this: http://gsoc.cat-v.org/people/mjl/blog//2007-08-06-1_Rabin_fingerprints > As a further step, you could also page align the text segments of the > library members, > then implement a venti-like scheme for read-only pages in memory, > so that when the executable loads, it gets any common library pages > shared. > > Dave. > > P.S. Sorry not to make Volos: where are the rest of the photos? >