9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Roman Shaposhnik <rvs@sun.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] mmap and shared libraries
Date: Tue,  4 Nov 2008 21:17:24 -0800	[thread overview]
Message-ID: <63B8FC54-74DC-4602-943F-28B870FF619B@sun.com> (raw)
In-Reply-To: <45D12424-9708-4FA1-AC6D-347911D5437D@mac.com>

On Nov 3, 2008, at 5:16 AM, 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?
>
> 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.

I was thinking about exactly the same approach when I was
contemplating the
evils of dynamic linking. It seems that if you link statically and you
use FS
to help you coalesce identical blocks (on storage devices and in RAM)
you get
all of the potential benefits of a dynamically linked binary except
one -- distribution.
A standalone statically linked binary is going to be considerable
larger while
in flight over data links.

> P.S. Sorry not to make Volos: where are the rest of the photos?

Yeah -- where are they?!?! ;-)

Thanks,
Roman.




  parent reply	other threads:[~2008-11-05  5:17 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1d371286c515cad580f68eddbe2cdf57@quanstro.net>
2008-11-03  3:18 ` [9fans] mmap Enrico Weigelt
2008-11-03  3:31   ` ron minnich
2008-11-03  6:27     ` Charles Forsyth
2008-11-03 13:16       ` [9fans] mmap and shared libraries dave.l
2008-11-03 15:55         ` Kernel Panic
2008-11-04  1:23         ` Lyndon Nerenberg
2008-11-04  3:46         ` michael block
2008-11-05  5:17         ` Roman Shaposhnik [this message]
2008-11-05  5:21           ` ron minnich
2008-11-05  5:25             ` Lyndon Nerenberg
2008-11-04 15:06 Eris Discordia
     [not found] <0BA37138CD8655143F1F7260@192.168.1.2>
2008-11-04 15:59 ` ron minnich
2008-11-05  8:26   ` Bruce Ellis
2008-11-05  8:32     ` Lyndon Nerenberg
2008-11-05  8:38       ` Bruce Ellis
2008-11-05  8:43         ` Lyndon Nerenberg
2008-11-05 10:33   ` Eris Discordia
     [not found]   ` <4EA3104D894655DB38E5DC15@192.168.1.2>
2008-11-05 10:55     ` Robert Raschke
2008-11-05 11:02       ` Eris Discordia
2008-11-05 10:57 Eris Discordia
2008-11-05 16:34 ` Abhishek Kulkarni
2008-11-05 17:19   ` roger peppe
     [not found] <98D93FD5E6510345BB763E1E@192.168.1.2>
2008-11-05 18:15 ` ron minnich
2008-11-05 18:55   ` David Leimbach
2008-11-05 19:28     ` Rob Pike
2008-11-05 20:54 Eris Discordia
     [not found] <B9EFF9908B07EE7F3D52A6FE@192.168.1.2>
2008-11-05 21:09 ` andrey mirtchovski
2008-11-05 21:58   ` Eris Discordia
2008-11-05 21:12 ` Rob Pike
2008-11-05 22:02   ` Eris Discordia
2008-11-05 22:44     ` Skip Tavakkolian
2008-11-05 22:50     ` john
2008-11-05 22:13 ` ron minnich
2008-11-06  0:48   ` Eris Discordia
2008-11-06  0:53   ` Eris Discordia
     [not found]   ` <F57A01C450F2AF0D885A4EA2@192.168.1.2>
2008-11-06  1:17     ` andrey mirtchovski
2008-11-06  1:23       ` Rob Pike
2008-11-06  7:11         ` Eris Discordia
     [not found]   ` <4E85CF437A5996E22A154410@192.168.1.2>
2008-11-06  4:01     ` Noah Evans
2008-11-08  2:07       ` Lyndon Nerenberg
2008-11-08 15:21         ` Eris Discordia
     [not found]         ` <08704C38FEA587112964C8F7@192.168.1.2>
2008-11-08 21:37           ` Noah Evans
2008-11-08 22:12             ` Bruce Ellis
2008-11-09 14:53               ` Eris Discordia
     [not found]               ` <44E0B0824F0CA75923FADB8F@192.168.1.2>
2008-11-09 15:52                 ` Bruce Ellis
2008-11-09 21:16                 ` Noah Evans
2008-11-09 22:07                   ` Bruce Ellis
2008-11-09 22:37                     ` Dan Cross
2008-11-09 22:57                       ` Bruce Ellis
2008-11-06  4:03   ` Roman Shaposhnik
2008-11-06  0:17 Eris Discordia
2008-11-06  1:26 ` erik quanstrom
2008-11-06  0:45 Eris Discordia
2008-11-06  5:32 ` Wes Kussmaul
     [not found] <C9A2E584874CDAD0B23E1ABF@192.168.1.2>
2008-11-06  1:25 ` ron minnich
2008-11-06  1:20   ` erik quanstrom
2008-11-06  7:20   ` Skip Tavakkolian
2008-11-06  7:34 Eris Discordia
     [not found] <88F7FC88EA146B5826CA4895@192.168.1.2>
2008-11-06  8:45 ` Bruce Ellis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=63B8FC54-74DC-4602-943F-28B870FF619B@sun.com \
    --to=rvs@sun.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).