Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

That does not compute.


devel / comp.arch / Re: addressing and protection, was Paper about ISO C

SubjectAuthor
* Paper about ISO Cclamky
+- Re: Paper about ISO CBGB
+* Re: Paper about ISO CDavid Brown
|+* Re: Paper about ISO CBGB
||+* Re: Paper about ISO CMitchAlsup
|||+* Re: Paper about ISO CMitchAlsup
||||`* Re: Paper about ISO CBranimir Maksimovic
|||| `* Re: Paper about ISO CGeorge Neuner
||||  +- Re: Paper about ISO CBranimir Maksimovic
||||  `* Re: Paper about ISO CEricP
||||   `* Re: Paper about ISO CIvan Godard
||||    `* Re: Paper about ISO CEricP
||||     `* Re: Paper about ISO CMitchAlsup
||||      +* Re: Paper about ISO CBGB
||||      |`* Re: Paper about ISO CStephen Fuld
||||      | +* Re: Paper about ISO CIvan Godard
||||      | |+* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | ||+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |||+- Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |||+* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | ||||`- Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | |||`- Re: addressing and protection, was Paper about ISO CBill Findlay
||||      | ||`* Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | || +- Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | || `- Re: addressing and protection, was Paper about ISO CBranimir Maksimovic
||||      | |`* Re: addressing and protection, was Paper about ISO CEricP
||||      | | +* Re: addressing and protection, was Paper about ISO CStefan Monnier
||||      | | |`- Re: addressing and protection, was Paper about ISO CEricP
||||      | | `* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  |+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  ||`* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  || `* Re: addressing and protection, was Paper about ISO CJohn Dallman
||||      | |  ||  +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  ||  |+- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  |+* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  ||  ||`* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  || `* Re: addressing and protection, was Paper about ISO CAnton Ertl
||||      | |  ||  ||  `- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  |`* Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | |  ||  | +- Re: addressing and protection, was Paper about ISO CQuadibloc
||||      | |  ||  | `- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  ||  `- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  |`* Re: addressing and protection, was Paper about ISO CJohn Dallman
||||      | |  | +* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |`* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | | `* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |  |+* Re: addressing and protection, was Paper about ISO CStefan Monnier
||||      | |  | |  ||+- Re: addressing and protection, was Paper about ISO CChris M. Thomasson
||||      | |  | |  ||+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |  |||`- Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  ||+* Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  |||`* Re: addressing and protection, was Paper about ISO CEricP
||||      | |  | |  ||| `- Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |  ||`- Re: addressing and protection, was Paper about ISO CJohn Dallman
||||      | |  | |  |`- Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |  `* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |   +- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |   `* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |    +* Address space consumption (was: addressing and protection, was Paper about ISO CStefan Monnier
||||      | |  | |    |`- Re: Address space consumption (was: addressing and protection, wasMitchAlsup
||||      | |  | |    +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |    |`- Re: addressing and protection, was Paper about ISO CThomas Koenig
||||      | |  | |    `* Re: addressing and protection, was Paper about ISO CGeorge Neuner
||||      | |  | |     `* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |      +* Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |      |`* Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |      | `- Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |      `* Re: addressing and protection, was Paper about ISO CStefan Monnier
||||      | |  | |       +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       |`* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |  | |       | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |`* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |       | | `* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |  `* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |  | |       | |   +- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |   +- Re: addressing and protection, was Paper about ISO Cclamky
||||      | |  | |       | |   `* Re: addressing and protection, was Paper about ISO CGeorge Neuner
||||      | |  | |       | |    +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    |`* Re: addressing and protection, was Paper about ISO CGeorge Neuner
||||      | |  | |       | |    | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | |+* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |       | |    | ||+* Re: educational computation, was addressing and protection, was Paper about ISO John Levine
||||      | |  | |       | |    | |||`* Re: educational computation, was addressing and protection, was PaperIvan Godard
||||      | |  | |       | |    | ||| `- Re: educational computation, was addressing and protection, was PaperTerje Mathisen
||||      | |  | |       | |    | ||`* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | || `* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | ||  +- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | ||  `- Re: addressing and protection, was Paper about ISO CDavid Brown
||||      | |  | |       | |    | |+- Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | |`* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | | |+- Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |       | |    | | |`* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | | | +* Re: addressing and protection, was Paper about ISO CIvan Godard
||||      | |  | |       | |    | | | |+* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    | | | ||`- Re: addressing and protection, was Paper about ISO CJimBrakefield
||||      | |  | |       | |    | | | |`* Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |       | |    | | | | `* Re: addressing and protection, was Paper about ISO CTim Rentsch
||||      | |  | |       | |    | | | |  `- Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |       | |    | | | +* Re: addressing and protection, was Paper about ISO CBGB
||||      | |  | |       | |    | | | `- Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | |       | |    | | `- Re: addressing and protection, was Paper about ISO CAnne & Lynn Wheeler
||||      | |  | |       | |    | `- Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | |       | |    `* Re: what is cheap these days, addressing and protection, was Paper about ISO CJohn Levine
||||      | |  | |       | +* Re: addressing and protection, was Paper about ISO CStephen Fuld
||||      | |  | |       | +* Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |       | `* Re: addressing and protection, was Paper about ISO CMichael S
||||      | |  | |       +* RAM size (was: addressing and protection, was Paper about ISO C)Anton Ertl
||||      | |  | |       `- Re: addressing and protection, was Paper about ISO CTerje Mathisen
||||      | |  | +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  | `* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | |  +* Re: addressing and protection, was Paper about ISO CMitchAlsup
||||      | |  `* Re: addressing and protection, was Paper about ISO CJohn Levine
||||      | `* Re: Paper about ISO CBGB
||||      `- Re: Paper about ISO CEricP
|||+* Re: Paper about ISO CBranimir Maksimovic
|||+* Re: Paper about ISO CThomas Koenig
|||+* Re: Paper about ISO Cantispam
|||`- Re: Paper about ISO CQuadibloc
||+* Re: Paper about ISO CThomas Koenig
||`* Re: Paper about ISO CDavid Brown
|+* Re: Paper about ISO CThomas Koenig
|`* Re: Paper about ISO CVictor Yodaiken
`* Re: Paper about ISO CKent Dickey

Pages:123456789101112131415161718192021222324252627282930313233
Re: Paper about ISO C

<i7e8mglr9g6bnpo7e481hs5svk134511ui@4ax.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20916&group=comp.arch#20916

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 09:30:42 -0400
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <i7e8mglr9g6bnpo7e481hs5svk134511ui@4ax.com>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me> <sjnmcp$630$1@dont-email.me> <ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com> <hiN7J.53059$3p3.5024@fx16.iad> <9e23mg1uk377av16575v343v97f128bbe6@4ax.com> <Gwh8J.222306$T_8.186929@fx48.iad> <j6i3mg16rc2f6d99n7u64cmebnvq02d407@4ax.com> <VCo8J.34131$dI3.21011@fx10.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="174a257b3df625f93d283b2cfc8428d0";
logging-data="12968"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19RhQ7xbq8Cj0VeL91TglvgU9Q9CDgPrdU="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:urKzx5j6LxZ8v1aJn35g9bFUVig=
 by: George Neuner - Mon, 11 Oct 2021 13:30 UTC

On Sat, 09 Oct 2021 22:22:45 GMT, Branimir Maksimovic
<branimir.maksimovic@icloud.com> wrote:

>Boehm's collector scans heap/stack/bss, pointing anywhere within
>allocated area, no problem with that.

The problem isn't finding pointers that refer to the heap, the problem
is finding pointers that refer to particular allocated blocks IN the
heap.

And that's one of the places that BDW falls down. (see below)

> ... Boehm's collector works with C. With C++ there are problems
>because of caching scheme in defualt allocator.

BDW has lots of problems - the least of which is the space overhead: a
collected heap needs to be 30+% larger (minimum) than a heap that
isn't collected.

To use BDW effectively, you have to change your programming style, and
you have to actively tell the collector what objects should be
considered "roots", and what objects can be ignored for scanning
because they won't ever contain pointers.

Even with programmer assistance, BDW slows down VERY quickly as the
live data set grows.

Been there, done that.
George

Re: addressing and protection, was Paper about ISO C

<iLY8J.61190$nR3.22104@fx38.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20918&group=comp.arch#20918

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!aioe.org!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx38.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk> <sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com> <sjvls1$11i$1@newsreader4.netcologne.de> <eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com> <jwvczoctu50.fsf-monnier+comp.arch@gnu.org> <sk0l2a$jfc$3@newsreader4.netcologne.de>
In-Reply-To: <sk0l2a$jfc$3@newsreader4.netcologne.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 42
Message-ID: <iLY8J.61190$nR3.22104@fx38.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Mon, 11 Oct 2021 15:29:18 UTC
Date: Mon, 11 Oct 2021 11:29:13 -0400
X-Received-Bytes: 3060
 by: EricP - Mon, 11 Oct 2021 15:29 UTC

Thomas Koenig wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> schrieb:
>>>>>>> Some programs do need to be able to handle sets of data, in RAM, that are
>>>>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
>>>>>>> them, but they definitely exist.
>> I find this discussion quite surprising. On the one hand, I'm still
>> using the i386 port of Debian on most/all of my machines, so clearly all
>> my applications fit within that 32bit address space, but I'd have expected it's
>> quite common for numerical simulations to need a fair bit more.
>>
>> After all, my Firefox process often gets in the GB range, my Emacs needs
>> at least as much RAM as the size of the files it edits (and log files >4GB
>> aren't that rare), and even smartphones come with 8GB these days.
>>
>> So is it really still rare(ish) to pass the 4GB limit?
>
> Most processes do not pass 4GB, but there are important ones that do.
>
> If you're on a x86, you also have fewer registers in 32-bit mode,
> unless you use the x32 ABI (is that still alive?)
>
> SPARC compilers will give you 32 bit code by default to save
> on code size. If you want to run a cryptographic hash, then
> of course 64 bit is better :-)

One problem for large 64-bit address spaces is that they would like to
take advantage of large (aka huge) page sizes to cut translation cost,
even more so with virtual machine table level translation.
Last time I look it was still clunky.
Automatically breaking huge pages into smaller ones is easy,
reassembling huge pages from smaller ones is not as it is similar to
disk defragmentation and not something you want to do all the time.
So pools of huge pages were set aside at boot time and each page
size recycles within its own pool.

I see references at Hotchips 2016 to AMD Zen supporting something called
"PTE Coalescing" that combines 4K pages into 32K ones.
But I find no reference in the AMD system programming manual dated 2021.

Re: Paper about ISO C

<sk1mb4$cdi$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20919&group=comp.arch#20919

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 08:47:46 -0700
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <sk1mb4$cdi$1@dont-email.me>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me>
<ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<967daf46-d627-4db5-9e5f-0584ac00a539n@googlegroups.com>
<jlN7J.12573$fZ.8007@fx06.iad> <c0nvlg9c4v1u2m4t9601rb02u7i6g1b3pg@4ax.com>
<aTZ7J.138342$F26.9781@fx44.iad> <sjprtg$259$1@dont-email.me>
<E0%7J.9319$7U3.7165@fx24.iad>
<2aab69d6-197a-4c3d-ba4c-0ac9c84a51fen@googlegroups.com>
<sjqfoo$9ef$1@dont-email.me> <sjrckv$jdf$1@dont-email.me>
<sjrhjd$d15$1@dont-email.me> <sjsai8$djl$1@dont-email.me>
<sjtgpq$l2r$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 11 Oct 2021 15:47:48 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="5fc23c2261a727827cc7c4e4821a3fb8";
logging-data="12722"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19nPTVYWPLc55/WKWDKbNIy2p36YdwIAbg="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:1TZaBwQCp0u5kgGVcyZF0uznAyc=
In-Reply-To: <sjtgpq$l2r$1@dont-email.me>
Content-Language: en-US
 by: Stephen Fuld - Mon, 11 Oct 2021 15:47 UTC

On 10/9/2021 6:48 PM, BGB wrote:
> On 10/9/2021 9:56 AM, Stephen Fuld wrote:
>> On 10/9/2021 12:50 AM, BGB wrote:

snip

>> See, you are conflating protection (UID/GID or ACL) with memory
>> placement (MMU/TLB).  They don't have to be conflated.
>>
>
> OK. Conflating them makes the most sense for the MMU though.

Once you start with the MMU, then "add" protection, you have already
made the decision to conflate them.

There are advantages and disadvantages to putting them together. I just
think one should consider the decision not just default to combining.

In a very general sense, combining them is "simpler", but separating
them gives you more flexibility. So for example, with the separation,
you are not limited to page sizes for the protection domains. I believe
the Mill has protection to the byte level (which has some other
advantages). It also means that large pages don't necessarily mean
large protection domains, so it gives you some flexibility there.

And note that the decision to combine them or not is orthogonal to the
Single/Multiple address space decision (which has its own set of
tradeoffs). I think all four combinations are possible.

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: Paper about ISO C

<jwv5yu3iljd.fsf-monnier+comp.arch@gnu.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20920&group=comp.arch#20920

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 12:18:51 -0400
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <jwv5yu3iljd.fsf-monnier+comp.arch@gnu.org>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me>
<ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<967daf46-d627-4db5-9e5f-0584ac00a539n@googlegroups.com>
<jlN7J.12573$fZ.8007@fx06.iad>
<c0nvlg9c4v1u2m4t9601rb02u7i6g1b3pg@4ax.com>
<aTZ7J.138342$F26.9781@fx44.iad> <sjprtg$259$1@dont-email.me>
<E0%7J.9319$7U3.7165@fx24.iad>
<2aab69d6-197a-4c3d-ba4c-0ac9c84a51fen@googlegroups.com>
<sjqfoo$9ef$1@dont-email.me> <sjrckv$jdf$1@dont-email.me>
<sjrhjd$d15$1@dont-email.me> <sjsai8$djl$1@dont-email.me>
<sjtgpq$l2r$1@dont-email.me> <sk1mb4$cdi$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="924870f44da1ab9faa0f91c6a68ea445";
logging-data="11412"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+/6Piv22zJ2LTthMs9KQXH"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
Cancel-Lock: sha1:QxslgZOhOKJgVqm2Vox3J9KTSHU=
sha1:o6giFhF1JIJxfmMVmBzm6Hk1xpw=
 by: Stefan Monnier - Mon, 11 Oct 2021 16:18 UTC

> And note that the decision to combine them or not is orthogonal to the
> Single/Multiple address space decision (which has its own set of
> tradeoffs). I think all four combinations are possible.

Technically that's true, but of course for an SASOS the mapping table is
global whereas the protection tables are per-process, so it naturally
lends itself to a hardware where the two are decoupled.

Stefan

Re: addressing and protection, was Paper about ISO C

<b1993459-8439-434d-9c71-3a79036c8d11n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20921&group=comp.arch#20921

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:f902:: with SMTP id l2mr15659301qkj.511.1633969662648;
Mon, 11 Oct 2021 09:27:42 -0700 (PDT)
X-Received: by 2002:aca:da82:: with SMTP id r124mr27683047oig.175.1633969662274;
Mon, 11 Oct 2021 09:27:42 -0700 (PDT)
Path: rocksolid2!news.neodome.net!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 09:27:42 -0700 (PDT)
In-Reply-To: <iLY8J.61190$nR3.22104@fx38.iad>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f1cb:af85:b197:2d8a;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f1cb:af85:b197:2d8a
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk>
<sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com>
<sjvls1$11i$1@newsreader4.netcologne.de> <eec4515a-7573-4116-b7dc-aa8d458a1171n@googlegroups.com>
<jwvczoctu50.fsf-monnier+comp.arch@gnu.org> <sk0l2a$jfc$3@newsreader4.netcologne.de>
<iLY8J.61190$nR3.22104@fx38.iad>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b1993459-8439-434d-9c71-3a79036c8d11n@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 11 Oct 2021 16:27:42 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 57
 by: MitchAlsup - Mon, 11 Oct 2021 16:27 UTC

On Monday, October 11, 2021 at 10:29:20 AM UTC-5, EricP wrote:
> Thomas Koenig wrote:
> > Stefan Monnier <mon...@iro.umontreal.ca> schrieb:
> >>>>>>> Some programs do need to be able to handle sets of data, in RAM, that are
> >>>>>>> too large to fit into 32-bit addressing. There aren't huge numbers of
> >>>>>>> them, but they definitely exist.
> >> I find this discussion quite surprising. On the one hand, I'm still
> >> using the i386 port of Debian on most/all of my machines, so clearly all
> >> my applications fit within that 32bit address space, but I'd have expected it's
> >> quite common for numerical simulations to need a fair bit more.
> >>
> >> After all, my Firefox process often gets in the GB range, my Emacs needs
> >> at least as much RAM as the size of the files it edits (and log files >4GB
> >> aren't that rare), and even smartphones come with 8GB these days.
> >>
> >> So is it really still rare(ish) to pass the 4GB limit?
> >
> > Most processes do not pass 4GB, but there are important ones that do.
> >
> > If you're on a x86, you also have fewer registers in 32-bit mode,
> > unless you use the x32 ABI (is that still alive?)
> >
> > SPARC compilers will give you 32 bit code by default to save
> > on code size. If you want to run a cryptographic hash, then
> > of course 64 bit is better :-)
>
> One problem for large 64-bit address spaces is that they would like to
> take advantage of large (aka huge) page sizes to cut translation cost,
> even more so with virtual machine table level translation.
> Last time I look it was still clunky.
<
My 66000 addressed this: there is a 3-bit Level indicator in each layer
of the translation tables. The 3-bit indicator in the Root pointer determines
the size of the virtual address space {23-bits, 33-bits, 43-bits, 53-bits, 63-bits}
Also, here in the Root pointer, the encoding of 000 indicates PA = VA.
For each successive layer in the hierarchy, the Lvl indicator is monotonically
decreasing and each step that is not -1 skips levels of the table hierarchy.
Thus, the starting point determines the maximum size of the VAS, and
one can skip layers in the middle. Applications like 'cat' can be mapped
with a single page of page table overhead.
<
Large pages use the non translating bits as a [0..limit], so a PTE pointing at a
2^23 byte page, can be given access to a much smaller actual page on a big
page boundary. This should make big pages "more usable".
<
So this is a <more or less> conventional hierarchy, with starting pint
and level skipping designed to make the hierarchy as small* as possible.
(*) low overhead.
<
> Automatically breaking huge pages into smaller ones is easy,
> reassembling huge pages from smaller ones is not as it is similar to
> disk defragmentation and not something you want to do all the time.
> So pools of huge pages were set aside at boot time and each page
> size recycles within its own pool.
>
> I see references at Hotchips 2016 to AMD Zen supporting something called
> "PTE Coalescing" that combines 4K pages into 32K ones.
> But I find no reference in the AMD system programming manual dated 2021.

Re: addressing and protection, was Paper about ISO C

<thr8mg5gmsl4ldb7tc6n9gq4rcpr4pre3f@4ax.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20922&group=comp.arch#20922

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 13:13:36 -0400
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <thr8mg5gmsl4ldb7tc6n9gq4rcpr4pre3f@4ax.com>
References: <sjv4u6$37u$1@dont-email.me> <memo.20211010193358.12252P@jgd.cix.co.uk> <sjvc1g$pf4$1@newsreader4.netcologne.de> <9115d247-860e-4a56-a60d-76453e183fden@googlegroups.com> <sjvls1$11i$1@newsreader4.netcologne.de> <sjvqgu$4nf$1@dont-email.me> <sjvt49$hum$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="174a257b3df625f93d283b2cfc8428d0";
logging-data="18937"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18oh6fm99M5NcC14QFJbYll9Rr5BlxCrMs="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:mNFYfI0ouEQawMavL1sCTZpUzT0=
 by: George Neuner - Mon, 11 Oct 2021 17:13 UTC

On Sun, 10 Oct 2021 16:31:21 -0700, Stephen Fuld
<sfuld@alumni.cmu.edu.invalid> wrote:

>I don't think the question of whether 64 bits is adequate (it is), but
>for how long into the future will it be adequate, and secondarily, when
>it does become inadequate, how big a change, hardware and software, will
>be required to deal with it?

When the time comes that one computer can't run all your programs, buy
another one.

Address space won't be a problem until 64 bits is too small for a
/single/ program. "Big data" notwithstanding, I don't expect to see
programs of that size any time in this century.

>Remember, not allowing a large enough address space is considered by
>many to be the biggest mistake in computer architecture. :-(

Yeah, but that problem wasn't multitasking - it was that there were
/single/ programs that needed more address space than was available.

Re: Paper about ISO C

<sk1u2r$9aj$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20923&group=comp.arch#20923

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 12:59:50 -0500
Organization: A noiseless patient Spider
Lines: 102
Message-ID: <sk1u2r$9aj$1@dont-email.me>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me>
<ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<hiN7J.53059$3p3.5024@fx16.iad> <9e23mg1uk377av16575v343v97f128bbe6@4ax.com>
<Gwh8J.222306$T_8.186929@fx48.iad>
<j6i3mg16rc2f6d99n7u64cmebnvq02d407@4ax.com>
<9a019b14-481d-4ae9-a8ae-8f0c2d94bf57n@googlegroups.com>
<vpc8mg9nie7kcpik5knob6po2rt4goftvd@4ax.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 11 Oct 2021 17:59:55 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="084e653876a6bd3544ce6ae536a535a3";
logging-data="9555"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19MMKKFFSNcRuzn04O40PIx"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:9JVd+FYLZl1s2Q+RMj7kpX+of9s=
In-Reply-To: <vpc8mg9nie7kcpik5knob6po2rt4goftvd@4ax.com>
Content-Language: en-US
 by: BGB - Mon, 11 Oct 2021 17:59 UTC

On 10/11/2021 8:14 AM, George Neuner wrote:
> On Sat, 9 Oct 2021 14:28:22 -0700 (PDT), MitchAlsup
> <MitchAlsup@aol.com> wrote:
>
>> Question: in a 64-bit virtual address space, is there ever a reason that
>> the "heap" cannot live in a contiguous subsection of that space so
>> base and bounds could tell if the pointer should be considered for
>> GC (or not)?
>
> I can't think of one offhand. 64 bits gives plenty of space for lots
> of programs to have huge contiguous heaps.
>
> GCs for uncooperative languages (like C) do check potential pointers -
> i.e. properly aligned values - against the heap limits as a first
> step. But what the GC really needs to know is if a pointer refers to
> an actual allocated block. Determining /that/ is a lot harder because
> the value must be range checked against every allocation, not just
> against the heap limits.
>

Yeah, a process for this might be like:
Check that low 2 or 3 bits are 0, typical for heap objects;
Check that the high-bits are sane (somewhere in the user region);
Lookup the top-level heap segment;
Lookup the object within the segment;
Mark object if needed, walk object for more pointers to check.
These can be added to a queue or similar.

> There are various data structures that facilitate interval / range
> searching, but maintaining them is extra overhead in the allocator and
> collector, and potentially is heap space unavailable to the program.
> It's a lot more effective to require that the compiler retain original
> pointers and always work on copies of them.
>

Main structure that works reasonably well here is sorted arrays.
With a sorted array, one can use binary search, so roughly O(log2 n) per
level.

So, say, the top-level heap segments are represented in a sorted array;
Within each segment, any medium-sized objects are represented as another
sorted array;
For small objects, I had typically fallen back to using a range of
"cells" managed by bitmaps (size varies, for C, 16B works well).

This might lead to objects being divided based on size ranges, say:
1MB+, Allocated directly via memory pages (large-object allocator);
4K .. 1MB: Medium object allocator;
Under 4K or so: Cell allocator.

The space for the cell allocator might be based on allocating fixed size
chunks from either the medium or large allocator.

One might spend around 3% or 6% constant overhead on the bitmap, say:
2 bits for cell allocation state;
Say: 00=Free, 01=Obj Data, 10=Object Header, 11=Object (No Header)
2 bits for mark/sweep state;
4 bits for other flags (optional).

The choice of header vs no-header would be based on whether one needs to
store object metadata (such as object type-tagging or similar). For bare
heap allocations, or those using a self-contained type-tagging scheme,
it may make sense to use a no-header object (in some cases, blocks in
the "cell heap" could be themselves divided by type-tag, side-stepping
the need for per-object headers).

Sometimes, it might make sense to have another "tiny allocator" for
objects under 16B or so, typically created by creating a bigger
allocation and dividing it into 8B or 16B pieces (managed via a free-list).

Though, usually it makes more sense to leave this to the program, which
can do this typically with a lower overhead (typically, these would be
things like boxed numbers or cons cells or similar).

While more traditional allocator designs are based around linked lists,
these have a few drawbacks:
High space overhead with 64b pointers;
Writing out-of-bounds compromises overall integrity of the heap;
Lookup requires O(n);
...

So, one ideally wouldn't do a GC with linked lists, as this means a
rough complexity of around O(n^2) for the mark phase, rather than around
O((log2 n)^2), ...

Also, it may makes sense to try to allocate things in terms of a
"microfloat" scheme (say: E5.F3), since this has less issues with
fragmentation than trying to do exact-sized allocations.

One might also use this microfloat format as a key-index for things like
free-lists and similar, and as a more compact way to express the object
size in allocator structures, ...

....

But, yeah, I may have implemented this sort of thing before.

Re: Paper about ISO C

<cb6bbb41-398f-4e2a-9a19-08bc4582b291n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20924&group=comp.arch#20924

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:6214:50c:: with SMTP id v12mr25341109qvw.45.1633975473216;
Mon, 11 Oct 2021 11:04:33 -0700 (PDT)
X-Received: by 2002:a54:4e86:: with SMTP id c6mr337970oiy.84.1633975472954;
Mon, 11 Oct 2021 11:04:32 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 11:04:32 -0700 (PDT)
In-Reply-To: <sjugcv$jio$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=24.173.181.154; posting-account=jn4_9AoAAADlg7v8KtkkjWBduIrvz8VB
NNTP-Posting-Host: 24.173.181.154
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<afb9352d-8ba7-4521-b741-280e0206e255n@googlegroups.com> <sjugcv$jio$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cb6bbb41-398f-4e2a-9a19-08bc4582b291n@googlegroups.com>
Subject: Re: Paper about ISO C
From: victor.y...@gmail.com (Victor Yodaiken)
Injection-Date: Mon, 11 Oct 2021 18:04:33 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 58
 by: Victor Yodaiken - Mon, 11 Oct 2021 18:04 UTC

On Sunday, October 10, 2021 at 5:48:01 AM UTC-5, David Brown wrote:

> The idea of C being a "high-level assembler" is right there in section
> 1, "Introduction".
>

There is something about high level assembler in the introduction - it is a QUOTE from the C Rationale. If you honestly
interpreted it as a claim that C was supposed to be a complete replacement for all assembly languages, then maybe you need
new glasses.
> Yes, I exaggerated somewhat, and clearly I was parodying and note

Exactly. You didn't respond to the argument made, you just caricatured it, refuted the
caricature and then congratulated yourself on being so smart.

> quoting. However, that /is/ the impression I got from the paper. I'm
> sorry, but you appear to have some serious misunderstandings about the C
> language, its tools, how it was originally intended to be used, how it
> developed as a language, how its tools developed, and how its use
> developed. The very title, "How ISO C became unusable for operating
> systems development" shows that - C was /never/ intended or designed to
> let you write operating systems purely in standard portable C.

Brilliant! And where did I write that C was designed to let one write operating systems
purely in standard portable C ? Nowhere. That's something you made up by adding
"purely in standard portable C" to what I wrote, changing the meaning completely. Of course some assembler
has always been necessary. Nobody said otherwise - except for you.

>The
> intention - which was achieved, and is still the case today - was that
> you could write /most/ of the OS in at least reasonably portable C,
> relying somewhat on implementation-dependent behaviour in parts.

And the point of the article, was exactly that you cannot do that any more because
implementation dependent C has been largely displaced by "undefined behavior" C. This is why Linux relies on a growing
number of gcc specific flags that turn off different compiler behaviors permitted by, encouraged by, the ISO standard.
Can you compare pointers? In K&R C you can, if the hardware allows. In ISO-C you cannot unless they are both within the
same object or (possible, one past). So the malloc/free implementation in K&R2, if you read the paper, you would know, might or
might not work depending on optimization level and compiler version even when the hardware (like 99% of modern processors)
allows you to make the comparison. Can you cast a pointer to a different type? Sure. Can you dereference it?
Maybe, maybe not, depending on the optimizer level and how the compiler is interpreting type rules today.

> And if you look at OS's today, that's what you see. Whether you look at
> massive OS's like BSD or Linux, or small ones like FreeRTOS, you'll see
> the great majority is written in plain standards-defined C. Some parts

And if you had read the article you would know that what you just wrote is wrong.

> are unavoidably written in assembly (either inline or stand-alone), some
> parts are dependent on implementation details for the targets supported,
> and sometimes the writers take advantage of compiler extensions or
> features in order to write code that is more efficient, clearer, or
> otherwise better than standard C alone.
>
> Some details have changed since C's inception, but the principles have not.

Charitably, you are just 25 years behind on what gcc/clang do. Catch up.

Re: addressing and protection, was Paper about ISO C

<memo.20211011193054.12252T@jgd.cix.co.uk>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20925&group=comp.arch#20925

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: jgd...@cix.co.uk (John Dallman)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 19:30 +0100 (BST)
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <memo.20211011193054.12252T@jgd.cix.co.uk>
References: <jwvczoctu50.fsf-monnier+comp.arch@gnu.org>
Reply-To: jgd@cix.co.uk
Injection-Info: reader02.eternal-september.org; posting-host="a3f780f365697c74d4b0601fb1123fc1";
logging-data="14923"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/n6kEFfmFJvMWym3OlDLgulPv+jigVF4k="
Cancel-Lock: sha1:/ASNOoySFY1LrPB/Ww26H4r51PM=
 by: John Dallman - Mon, 11 Oct 2021 18:30 UTC

In article <jwvczoctu50.fsf-monnier+comp.arch@gnu.org>,
monnier@iro.umontreal.ca (Stefan Monnier) wrote:

> even smartphones come with 8GB these days.

That's mostly so that the ever-increasing amounts of vendor-specific GUI
customisation in Android leave you with enough RAM to run big games.

It's also useful to people who provide industrial-strength mathematical
modelling software for Android. Some find it easier to just run all their
testing than to define appropriate subsets and write the appropriate
caveats in the support agreement. There aren't very many of us, but we
like the 16GB phones that are around these days.

John

Re: Paper about ISO C

<sk261q$me9$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20927&group=comp.arch#20927

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 20:15:54 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk261q$me9$1@newsreader4.netcologne.de>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<afb9352d-8ba7-4521-b741-280e0206e255n@googlegroups.com>
<sjugcv$jio$1@dont-email.me>
<cb6bbb41-398f-4e2a-9a19-08bc4582b291n@googlegroups.com>
Injection-Date: Mon, 11 Oct 2021 20:15:54 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="22985"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 11 Oct 2021 20:15 UTC

Victor Yodaiken <victor.yodaiken@gmail.com> schrieb:
> Can you cast a pointer to a different type? Sure.

>Can you dereference it?

No.

> Maybe, maybe not, depending on the optimizer level and how the
> compiler is interpreting type rules today.

The standard is quite clear about that.

But, by all means, do to try to make C slower. It would help my
favorite language, Fortran, become faster by comparison :-)

Re: Paper about ISO C

<sk26u2$kok$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20928&group=comp.arch#20928

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Mon, 11 Oct 2021 13:30:58 -0700
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <sk26u2$kok$1@dont-email.me>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me>
<ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<967daf46-d627-4db5-9e5f-0584ac00a539n@googlegroups.com>
<jlN7J.12573$fZ.8007@fx06.iad> <c0nvlg9c4v1u2m4t9601rb02u7i6g1b3pg@4ax.com>
<aTZ7J.138342$F26.9781@fx44.iad> <sjprtg$259$1@dont-email.me>
<E0%7J.9319$7U3.7165@fx24.iad>
<2aab69d6-197a-4c3d-ba4c-0ac9c84a51fen@googlegroups.com>
<sjqfoo$9ef$1@dont-email.me> <sjrckv$jdf$1@dont-email.me>
<sjrhjd$d15$1@dont-email.me> <sjsai8$djl$1@dont-email.me>
<sjtgpq$l2r$1@dont-email.me> <sk1mb4$cdi$1@dont-email.me>
<jwv5yu3iljd.fsf-monnier+comp.arch@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 11 Oct 2021 20:30:58 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="5fc23c2261a727827cc7c4e4821a3fb8";
logging-data="21268"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/r4JSoWJ2VPsd5RnXX0lduiTwz5pu3DuU="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:Dmox+EebSN7XkQ03UJrVMdJUxd4=
In-Reply-To: <jwv5yu3iljd.fsf-monnier+comp.arch@gnu.org>
Content-Language: en-US
 by: Stephen Fuld - Mon, 11 Oct 2021 20:30 UTC

On 10/11/2021 9:18 AM, Stefan Monnier wrote:
>> And note that the decision to combine them or not is orthogonal to the
>> Single/Multiple address space decision (which has its own set of
>> tradeoffs). I think all four combinations are possible.
>
> Technically that's true, but of course for an SASOS the mapping table is
> global whereas the protection tables are per-process, so it naturally
> lends itself to a hardware where the two are decoupled.

Yes. I agree that decoupled is easier in a SAS.

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: addressing and protection, was Paper about ISO C

<sk27nb$nn8$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20929&group=comp.arch#20929

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 20:44:28 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk27nb$nn8$1@newsreader4.netcologne.de>
References: <sjvesb$a36$1@dont-email.me>
<memo.20211010211900.12252R@jgd.cix.co.uk>
<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
Injection-Date: Mon, 11 Oct 2021 20:44:28 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="24296"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Mon, 11 Oct 2021 20:44 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:
>> In article <sjvesb$a36$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>>
>> > The design of the PBO ABI puts the responsibility of the GBR reload
>> > onto the called function, which in turn is only needed in certain
>> > cases: ...
>> > Function pointers which are also non-leaf and/or access global
>> > variables.
>> How does the compiler know, when compiling a function, if it will be
>> called via a pointer?
><
> More importantly, why should it even know ?

If the function accesses variables from an outer block or function,
that might be relevant (depending on the calling convention for that).

Vanilla C does not have that feature, so it is not relevant there.

Re: addressing and protection, was Paper about ISO C

<sk2d0e$gmb$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20930&group=comp.arch#20930

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 17:14:33 -0500
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <sk2d0e$gmb$1@dont-email.me>
References: <sjvesb$a36$1@dont-email.me>
<memo.20211010211900.12252R@jgd.cix.co.uk>
<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
<sk27nb$nn8$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 11 Oct 2021 22:14:38 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="b42f73b4c52f95938ed39cf970165ed4";
logging-data="17099"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/qpZhQQxmk878Vdpdt+3x1"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:RxemejdiOFAIiREWI1Rm5tKSljI=
In-Reply-To: <sk27nb$nn8$1@newsreader4.netcologne.de>
Content-Language: en-US
 by: BGB - Mon, 11 Oct 2021 22:14 UTC

On 10/11/2021 3:44 PM, Thomas Koenig wrote:
> MitchAlsup <MitchAlsup@aol.com> schrieb:
>> On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:
>>> In article <sjvesb$a36$1...@dont-email.me>, cr8...@gmail.com (BGB) wrote:
>>>
>>>> The design of the PBO ABI puts the responsibility of the GBR reload
>>>> onto the called function, which in turn is only needed in certain
>>>> cases: ...
>>>> Function pointers which are also non-leaf and/or access global
>>>> variables.
>>> How does the compiler know, when compiling a function, if it will be
>>> called via a pointer?
>> <
>> More importantly, why should it even know ?
>
> If the function accesses variables from an outer block or function,
> that might be relevant (depending on the calling convention for that).
>
> Vanilla C does not have that feature, so it is not relevant there.
>

There was a proposal to add lambdas (with C++ style syntax) to C23,
though with slightly restricted semantics.

Though, granted, lambdas are sort of their own thing, as are GCC style
nested functions, ...

In this case, it needs to know the difference for whether or not it
needs to do a GBR reload. The alternative would be always doing a GBR
reload, but this would be rather detrimental to its "low overhead"
advantage relative to ELF FDPIC (since it would add ~ 2 memory loads,
and a register save/restore pair, to pretty much every function call).

Re: Paper about ISO C

<653dd3d0-34c5-4d16-a6b5-bbd05a64a402n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20933&group=comp.arch#20933

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:6112:: with SMTP id a18mr17935652qtm.401.1633992851677;
Mon, 11 Oct 2021 15:54:11 -0700 (PDT)
X-Received: by 2002:a05:6830:82f:: with SMTP id t15mr4368456ots.142.1633992851365;
Mon, 11 Oct 2021 15:54:11 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 15:54:11 -0700 (PDT)
In-Reply-To: <sk261q$me9$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=24.173.181.154; posting-account=jn4_9AoAAADlg7v8KtkkjWBduIrvz8VB
NNTP-Posting-Host: 24.173.181.154
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<afb9352d-8ba7-4521-b741-280e0206e255n@googlegroups.com> <sjugcv$jio$1@dont-email.me>
<cb6bbb41-398f-4e2a-9a19-08bc4582b291n@googlegroups.com> <sk261q$me9$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <653dd3d0-34c5-4d16-a6b5-bbd05a64a402n@googlegroups.com>
Subject: Re: Paper about ISO C
From: victor.y...@gmail.com (Victor Yodaiken)
Injection-Date: Mon, 11 Oct 2021 22:54:11 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 11
 by: Victor Yodaiken - Mon, 11 Oct 2021 22:54 UTC

On Monday, October 11, 2021 at 3:15:55 PM UTC-5, Thomas Koenig wrote:
> > Can you cast a pointer to a different type? Sure.
>
> >Can you dereference it?
> No.
> > Maybe, maybe not, depending on the optimizer level and how the
> > compiler is interpreting type rules today.
> The standard is quite clear about that.
>

Always an amusing claim.

Re: Paper about ISO C

<lt59J.204443$Kv2.41185@fx47.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20935&group=comp.arch#20935

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!news.uzoreto.com!news-out.netnews.com!news.alt.net!fdc2.netnews.com!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx47.iad.POSTED!not-for-mail
Newsgroups: comp.arch
From: branimir...@icloud.com (Branimir Maksimovic)
Subject: Re: Paper about ISO C
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<sjnmcp$630$1@dont-email.me>
<ca22ba8c-2f32-4999-a2d0-edde18d97a24n@googlegroups.com>
<hiN7J.53059$3p3.5024@fx16.iad>
<9e23mg1uk377av16575v343v97f128bbe6@4ax.com>
<Gwh8J.222306$T_8.186929@fx48.iad>
<j6i3mg16rc2f6d99n7u64cmebnvq02d407@4ax.com>
<VCo8J.34131$dI3.21011@fx10.iad>
<i7e8mglr9g6bnpo7e481hs5svk134511ui@4ax.com>
User-Agent: slrn/1.0.3 (Darwin)
Lines: 48
Message-ID: <lt59J.204443$Kv2.41185@fx47.iad>
X-Complaints-To: abuse@usenet-news.net
NNTP-Posting-Date: Tue, 12 Oct 2021 01:24:33 UTC
Organization: usenet-news.net
Date: Tue, 12 Oct 2021 01:24:33 GMT
X-Received-Bytes: 2563
 by: Branimir Maksimovic - Tue, 12 Oct 2021 01:24 UTC

On 2021-10-11, George Neuner <gneuner2@comcast.net> wrote:
> On Sat, 09 Oct 2021 22:22:45 GMT, Branimir Maksimovic
><branimir.maksimovic@icloud.com> wrote:
>
>>Boehm's collector scans heap/stack/bss, pointing anywhere within
>>allocated area, no problem with that.
>
> The problem isn't finding pointers that refer to the heap, the problem
> is finding pointers that refer to particular allocated blocks IN the
> heap.
\Well, I thouht this was easy task as it is simple pointer
arithemtic, but now I think you are right, heap can be
fragmented and that's a problem.

>
> And that's one of the places that BDW falls down. (see below)
>
>
>> ... Boehm's collector works with C. With C++ there are problems
>>because of caching scheme in defualt allocator.
>
> BDW has lots of problems - the least of which is the space overhead: a
> collected heap needs to be 30+% larger (minimum) than a heap that
> isn't collected.
>
> To use BDW effectively, you have to change your programming style, and
> you have to actively tell the collector what objects should be
> considered "roots", and what objects can be ignored for scanning
> because they won't ever contain pointers.
>
> Even with programmer assistance, BDW slows down VERY quickly as the
> live data set grows.
>

Well, surelly less than when you move allocated area then have to
update ll references in profram or to apply membar on every memory
access through pointers :p
GC is costly no question in that :P
>
> Been there, done that.
> George

--

7-77-777
Evil Sinner!
with software, you repeat same experiment, expecting different results...

Re: addressing and protection, was Paper about ISO C

<3a404917-1fae-43a9-b7b6-0156125df87en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20936&group=comp.arch#20936

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:9202:: with SMTP id u2mr18260280qkd.454.1634015843171;
Mon, 11 Oct 2021 22:17:23 -0700 (PDT)
X-Received: by 2002:a05:6830:2b06:: with SMTP id l6mr4932621otv.333.1634015842947;
Mon, 11 Oct 2021 22:17:22 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 22:17:22 -0700 (PDT)
In-Reply-To: <sjsppo$cpe$1@gal.iecc.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fa3a:e00:6485:e89c:948b:6bd5;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fa3a:e00:6485:e89c:948b:6bd5
References: <87fstdumxd.fsf@hotmail.com> <sjqfoo$9ef$1@dont-email.me>
<sjrckv$jdf$1@dont-email.me> <sjrgir$5v7$1@dont-email.me> <sjsppo$cpe$1@gal.iecc.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a404917-1fae-43a9-b7b6-0156125df87en@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 12 Oct 2021 05:17:23 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 31
 by: Quadibloc - Tue, 12 Oct 2021 05:17 UTC

On Saturday, October 9, 2021 at 1:16:10 PM UTC-6, John Levine wrote:
> According to Ivan Godard <iv...@millcomputing.com>:
> >>> Granted, this does have the (fairly obvious) property that most
> >>> traditional schemes for memory protection, ..., kinda go out the
> >>> window when one has multiple logical processes within the same address
> >>> space (as do the traditional distinctions between threads and processes).
> >>
> >> Not necessarily. Just because multiple logical processes exist within
> >> the same address space, doesn't mean that each process has legal access
> >> to all the addresses within that space.
> >
> >An address space tells you what you can name; a protection domain tells
> >you whether naming it does you any good.

> Quite right. Over fifty years ago S/360 put everything in one address space
> and had a memory protection scheme so that programs couldn't stomp on (or in
> some cases even look at) pages that weren't theirs.

Oh, yes. It can be argued that not letting processes even name what you
don't want them to see or change is, at least, a good idea because it's an
extra line of defence. But just because it _is_ an extra line of defence
doesn't make it impossible to breach, weaknesses have been found in
systems with virtualization-based security.

So the real question is: is the extra level of complexity worth it?

Historically, of course, virtualization was first brought in to allow the
convenience of having a computer serve, at the same time, users who
wanted to use that computer under different operating systems.
Extra security was just a bonus.

John Savard

Re: addressing and protection, was Paper about ISO C

<099613f1-ace6-461f-ab4f-7af434f2106fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20937&group=comp.arch#20937

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7e87:: with SMTP id w7mr20382315qtj.166.1634016032975;
Mon, 11 Oct 2021 22:20:32 -0700 (PDT)
X-Received: by 2002:a05:6830:1e7b:: with SMTP id m27mr24246159otr.350.1634016032770;
Mon, 11 Oct 2021 22:20:32 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 22:20:32 -0700 (PDT)
In-Reply-To: <sjst19$kf0$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fa3a:e00:6485:e89c:948b:6bd5;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fa3a:e00:6485:e89c:948b:6bd5
References: <87fstdumxd.fsf@hotmail.com> <sjqfoo$9ef$1@dont-email.me>
<sjrckv$jdf$1@dont-email.me> <sjrgir$5v7$1@dont-email.me> <sjsppo$cpe$1@gal.iecc.com>
<fbb80b3a-bf7a-44aa-863c-17f44bdf2eb0n@googlegroups.com> <sjst19$kf0$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <099613f1-ace6-461f-ab4f-7af434f2106fn@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 12 Oct 2021 05:20:32 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 18
 by: Quadibloc - Tue, 12 Oct 2021 05:20 UTC

On Saturday, October 9, 2021 at 2:11:23 PM UTC-6, Ivan Godard wrote:

> The B5000 stream procedures did if you generated the code yourself; I
> think so, anyway, it was before my time there. The B6500 secured the
> compilers so it wasn't possible; the instruction to set the 3-bit tag
> was only available from ESPOL, the OS flavor of Algol. Later on (after
> my day) I think they realized that securing the compilers was
> impractical and so the instruction was made privileged.

I'm not sure that "realized" was quite the right word.

After all, B6500 shops restricted people from bringing in their
own magnetic tapes, and stuff like that. So it wasn't necessarily
so much that they realized their security model was *flawed*
all along, but that circumstances had changed, and it was no
longer applicable to how people wanted to use computers
these days, with them being smaller and cheaper and all that.

John Savard

Re: Paper about ISO C

<3a350cfe-971c-4042-9171-9ec2516cdf2bn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20938&group=comp.arch#20938

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:b6c1:: with SMTP id g184mr18621739qkf.270.1634016230690;
Mon, 11 Oct 2021 22:23:50 -0700 (PDT)
X-Received: by 2002:a9d:384:: with SMTP id f4mr23668075otf.94.1634016230495;
Mon, 11 Oct 2021 22:23:50 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 22:23:50 -0700 (PDT)
In-Reply-To: <afb9352d-8ba7-4521-b741-280e0206e255n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fa3a:e00:6485:e89c:948b:6bd5;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fa3a:e00:6485:e89c:948b:6bd5
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me> <afb9352d-8ba7-4521-b741-280e0206e255n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a350cfe-971c-4042-9171-9ec2516cdf2bn@googlegroups.com>
Subject: Re: Paper about ISO C
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 12 Oct 2021 05:23:50 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 21
 by: Quadibloc - Tue, 12 Oct 2021 05:23 UTC

On Saturday, October 9, 2021 at 7:02:42 PM UTC-6, victor....@gmail.com wrote:

> Of course the paper doesn't make an argument anything like that nor does it make the assembler claims
> you start with. It is hard to believe anyone could read the
> paper and get such a weird take from it.

Maybe such a one had been exposed to the posts
of Anton Ertl, for example, and had just assumed,
after reading part of the paper and throwing it
down in disgust, that it represented a similar
viewpoint?

Actually, that's not entirely fair to Anton Ertl, who
is more reasonable than some representatives of
that viewpoint.

It's a viewpoint to which I'm not altogether
unsympathetic, since I see no need to spoil C
by turning it into C++ when we already have
C++.

John Savard

Re: Paper about ISO C

<6d5a9a01-2756-4c58-83d4-ba9ad2aa10bbn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20939&group=comp.arch#20939

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:50c8:: with SMTP id e8mr6376917qvq.33.1634016626052;
Mon, 11 Oct 2021 22:30:26 -0700 (PDT)
X-Received: by 2002:a9d:7b48:: with SMTP id f8mr24656592oto.112.1634016625845;
Mon, 11 Oct 2021 22:30:25 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 22:30:25 -0700 (PDT)
In-Reply-To: <ode6mgl8a70ge2gt88m0evt61psucf4k06@4ax.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fa3a:e00:6485:e89c:948b:6bd5;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fa3a:e00:6485:e89c:948b:6bd5
References: <jlN7J.12573$fZ.8007@fx06.iad> <c0nvlg9c4v1u2m4t9601rb02u7i6g1b3pg@4ax.com>
<aTZ7J.138342$F26.9781@fx44.iad> <sjprtg$259$1@dont-email.me>
<E0%7J.9319$7U3.7165@fx24.iad> <2aab69d6-197a-4c3d-ba4c-0ac9c84a51fen@googlegroups.com>
<sjqfoo$9ef$1@dont-email.me> <sjrckv$jdf$1@dont-email.me> <sjrhjd$d15$1@dont-email.me>
<sjsai8$djl$1@dont-email.me> <sjtgpq$l2r$1@dont-email.me> <sjtr82$riu$1@dont-email.me>
<sju5f0$tpe$1@newsreader4.netcologne.de> <sju7jv$ss4$1@dont-email.me> <ode6mgl8a70ge2gt88m0evt61psucf4k06@4ax.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6d5a9a01-2756-4c58-83d4-ba9ad2aa10bbn@googlegroups.com>
Subject: Re: Paper about ISO C
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 12 Oct 2021 05:30:26 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Tue, 12 Oct 2021 05:30 UTC

On Sunday, October 10, 2021 at 1:08:54 PM UTC-6, David W Schroth wrote:

> A nitpick - the Burroughs side of Unisys sandboxs the entire thing,
> the Univac side doesn't.

True, but the context was that they were only talking about the Burroughs
architecture.

The Univac machines were perfectly conventional, of course.

> Based upon the number of reported cases of someone
> getting around the protection on OS2200, it seems to work.

Perhaps, but it's going to be argued that we're just seeing
"security by obscurity" in action.

John Savard

Re: addressing and protection, was Paper about ISO C

<ace21d6e-9a1d-412c-bd46-d46efb2b1c55n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20940&group=comp.arch#20940

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:5c48:: with SMTP id a8mr27411406qva.20.1634016887531;
Mon, 11 Oct 2021 22:34:47 -0700 (PDT)
X-Received: by 2002:a05:6830:82f:: with SMTP id t15mr5531557ots.142.1634016887319;
Mon, 11 Oct 2021 22:34:47 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 22:34:47 -0700 (PDT)
In-Reply-To: <fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fa3a:e00:6485:e89c:948b:6bd5;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fa3a:e00:6485:e89c:948b:6bd5
References: <sjvesb$a36$1@dont-email.me> <memo.20211010211900.12252R@jgd.cix.co.uk>
<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ace21d6e-9a1d-412c-bd46-d46efb2b1c55n@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 12 Oct 2021 05:34:47 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 22
 by: Quadibloc - Tue, 12 Oct 2021 05:34 UTC

On Sunday, October 10, 2021 at 2:59:23 PM UTC-6, MitchAlsup wrote:
> On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:

> > How does the compiler know, when compiling a function, if it will be
> > called via a pointer?

> More importantly, why should it even know ?

That depends on what you mean by "called via a pointer". If calling
a function causes the computer to fetch, as the first instruction of
that function, the pointer to that function instead, the compiler has
not been properly told which calling sequence to use.

Of course the *function* shouldn't have to know that the calling
program has wrapped a little protective shell around it, but that's
a different issue.

So the answer to your question is basically that "compilers need to
be in a position to generate code that actually works", but I'm sure
you knew that, and it was just an accident that your wording was
infelicitous.

John Savard

Re: Paper about ISO C

<sk36r5$cao$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20941&group=comp.arch#20941

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Paper about ISO C
Date: Tue, 12 Oct 2021 05:35:33 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sk36r5$cao$1@newsreader4.netcologne.de>
References: <87fstdumxd.fsf@hotmail.com> <sjni60$97d$1@dont-email.me>
<afb9352d-8ba7-4521-b741-280e0206e255n@googlegroups.com>
<sjugcv$jio$1@dont-email.me>
<cb6bbb41-398f-4e2a-9a19-08bc4582b291n@googlegroups.com>
<sk261q$me9$1@newsreader4.netcologne.de>
<653dd3d0-34c5-4d16-a6b5-bbd05a64a402n@googlegroups.com>
Injection-Date: Tue, 12 Oct 2021 05:35:33 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-f01f-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:f01f:0:7285:c2ff:fe6c:992d";
logging-data="12632"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Tue, 12 Oct 2021 05:35 UTC

Victor Yodaiken <victor.yodaiken@gmail.com> schrieb:
> On Monday, October 11, 2021 at 3:15:55 PM UTC-5, Thomas Koenig wrote:
>> > Can you cast a pointer to a different type? Sure.
>>
>> >Can you dereference it?
>> No.
>> > Maybe, maybe not, depending on the optimizer level and how the
>> > compiler is interpreting type rules today.
>> The standard is quite clear about that.
>>

> Always an amusing claim.

Do you have trouble understanding the standard?

Re: addressing and protection, was Paper about ISO C

<6382c45b-4916-4804-849d-1f0c651690cen@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20942&group=comp.arch#20942

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7fcf:: with SMTP id b15mr7030008qtk.363.1634017710295;
Mon, 11 Oct 2021 22:48:30 -0700 (PDT)
X-Received: by 2002:a9d:189:: with SMTP id e9mr24314033ote.243.1634017710084;
Mon, 11 Oct 2021 22:48:30 -0700 (PDT)
Path: rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 11 Oct 2021 22:48:29 -0700 (PDT)
In-Reply-To: <ace21d6e-9a1d-412c-bd46-d46efb2b1c55n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:fa3a:e00:6485:e89c:948b:6bd5;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:fa3a:e00:6485:e89c:948b:6bd5
References: <sjvesb$a36$1@dont-email.me> <memo.20211010211900.12252R@jgd.cix.co.uk>
<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com> <ace21d6e-9a1d-412c-bd46-d46efb2b1c55n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6382c45b-4916-4804-849d-1f0c651690cen@googlegroups.com>
Subject: Re: addressing and protection, was Paper about ISO C
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 12 Oct 2021 05:48:30 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 25
 by: Quadibloc - Tue, 12 Oct 2021 05:48 UTC

On Monday, October 11, 2021 at 11:34:48 PM UTC-6, Quadibloc wrote:
> On Sunday, October 10, 2021 at 2:59:23 PM UTC-6, MitchAlsup wrote:
> > On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:

> > > How does the compiler know, when compiling a function, if it will be
> > > called via a pointer?

> > More importantly, why should it even know ?

> That depends on what you mean by "called via a pointer".

Of course, the way in which _you_ meant it, you were perfectly
correct; constructions like

x := (* fun)(y) ;

....I think that's how you would say it in C...

where fun is a pointer to code... aren't going to change a thing
about how the function, a pointer to which was placed in the
variable fun, will be called.

So of course that function, compiled separately, can be
completely conventional.

John Savard

Re: addressing and protection, was Paper about ISO C

<sk39pb$vh4$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20943&group=comp.arch#20943

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Mon, 11 Oct 2021 23:25:45 -0700
Organization: A noiseless patient Spider
Lines: 41
Message-ID: <sk39pb$vh4$1@dont-email.me>
References: <87fstdumxd.fsf@hotmail.com> <sjqfoo$9ef$1@dont-email.me>
<sjrckv$jdf$1@dont-email.me> <sjrgir$5v7$1@dont-email.me>
<sjsppo$cpe$1@gal.iecc.com>
<3a404917-1fae-43a9-b7b6-0156125df87en@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 12 Oct 2021 06:25:47 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="95866572dea83b3495503e9423271ef1";
logging-data="32292"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX185DU1su8XmoOMDua76AGl1QU13nDxc2kE="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:h+AszRtHjOeoRgSfexlLWfm41JI=
In-Reply-To: <3a404917-1fae-43a9-b7b6-0156125df87en@googlegroups.com>
Content-Language: en-US
 by: Stephen Fuld - Tue, 12 Oct 2021 06:25 UTC

On 10/11/2021 10:17 PM, Quadibloc wrote:
> On Saturday, October 9, 2021 at 1:16:10 PM UTC-6, John Levine wrote:
>> According to Ivan Godard <iv...@millcomputing.com>:
>>>>> Granted, this does have the (fairly obvious) property that most
>>>>> traditional schemes for memory protection, ..., kinda go out the
>>>>> window when one has multiple logical processes within the same address
>>>>> space (as do the traditional distinctions between threads and processes).
>>>>
>>>> Not necessarily. Just because multiple logical processes exist within
>>>> the same address space, doesn't mean that each process has legal access
>>>> to all the addresses within that space.
>>>
>>> An address space tells you what you can name; a protection domain tells
>>> you whether naming it does you any good.
>
>> Quite right. Over fifty years ago S/360 put everything in one address space
>> and had a memory protection scheme so that programs couldn't stomp on (or in
>> some cases even look at) pages that weren't theirs.
>
> Oh, yes. It can be argued that not letting processes even name what you
> don't want them to see or change is, at least, a good idea because it's an
> extra line of defence. But just because it _is_ an extra line of defence
> doesn't make it impossible to breach, weaknesses have been found in
> systems with virtualization-based security.
>
> So the real question is: is the extra level of complexity worth it?
>
> Historically, of course, virtualization was first brought in to allow the
> convenience of having a computer serve, at the same time, users who
> wanted to use that computer under different operating systems.
> Extra security was just a bonus.

I think you may be confusing SAS versus MAS, and process protection
mechanisms with VM/multiple OSs and similar virtualization techniques.
They are totally different.

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: addressing and protection, was Paper about ISO C

<sk3co5$mi0$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20945&group=comp.arch#20945

  copy link   Newsgroups: comp.arch
Path: rocksolid2!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: addressing and protection, was Paper about ISO C
Date: Tue, 12 Oct 2021 02:16:16 -0500
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <sk3co5$mi0$1@dont-email.me>
References: <sjvesb$a36$1@dont-email.me>
<memo.20211010211900.12252R@jgd.cix.co.uk>
<fde0b07e-f2d6-4ccb-8cd0-03aace585decn@googlegroups.com>
<ace21d6e-9a1d-412c-bd46-d46efb2b1c55n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 12 Oct 2021 07:16:21 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="b42f73b4c52f95938ed39cf970165ed4";
logging-data="23104"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+x9v+KFYszEbdT4QsMA2Nw"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.2.0
Cancel-Lock: sha1:uFr+jjrnE9u67JxTSCpMF6SA2F0=
In-Reply-To: <ace21d6e-9a1d-412c-bd46-d46efb2b1c55n@googlegroups.com>
Content-Language: en-US
 by: BGB - Tue, 12 Oct 2021 07:16 UTC

On 10/12/2021 12:34 AM, Quadibloc wrote:
> On Sunday, October 10, 2021 at 2:59:23 PM UTC-6, MitchAlsup wrote:
>> On Sunday, October 10, 2021 at 3:19:02 PM UTC-5, John Dallman wrote:
>
>>> How does the compiler know, when compiling a function, if it will be
>>> called via a pointer?
>
>> More importantly, why should it even know ?
>
> That depends on what you mean by "called via a pointer". If calling
> a function causes the computer to fetch, as the first instruction of
> that function, the pointer to that function instead, the compiler has
> not been properly told which calling sequence to use.
>
> Of course the *function* shouldn't have to know that the calling
> program has wrapped a little protective shell around it, but that's
> a different issue.
>
> So the answer to your question is basically that "compilers need to
> be in a position to generate code that actually works", but I'm sure
> you knew that, and it was just an accident that your wording was
> infelicitous.
>

In the PBO ABI, a function pointer is typically one of:
A pointer to the first instruction of the function to be called;
A pointer to some sort of wrapper for the function to be called.

For normal function pointers, it is usually the former.

For lambdas and DLL imports, usually the latter.

For lambdas, the pointer is to the start of an "executable object" which
loads its own address into a register (as per "thiscall") and then
branches to the target function. The 'thiscall' case is nearly identical
to the normal C ABI, except that 'this' is loaded into a register. In
this case, lambdas don't have class instance, but do have captured bindings.

For DLL imports, it is typically an indirect branch.
The typical process is to load the target address from the IAT (Import
Address Table) and then branch to it. I have debated defining a special
case where the branch instruction can be itself encoded in the IAT.

....

Note that in ELF FDPIC, the function pointer is typically a pointer to a
location in memory which holds both the address of the target function's
body, and also a pointer to the GOT to use for calling said function.

Re: addressing and protection, was Paper about ISO C

<PRd9J.90172$jm6.21178@fx07.iad>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=20951&group=comp.arch#20951

  copy link   Newsgroups: comp.arch
Path: rocksolid2!news.neodome.net!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx07.iad.POSTED!not-for-mail
Newsgroups: comp.arch
From: branimir...@icloud.com (Branimir Maksimovic)
Subject: Re: addressing and protection, was Paper about ISO C
References: <87fstdumxd.fsf@hotmail.com> <sjqfoo$9ef$1@dont-email.me>
<sjrckv$jdf$1@dont-email.me> <sjrgir$5v7$1@dont-email.me>
<sjsppo$cpe$1@gal.iecc.com>
<3a404917-1fae-43a9-b7b6-0156125df87en@googlegroups.com>
User-Agent: slrn/1.0.3 (Darwin)
Lines: 49
Message-ID: <PRd9J.90172$jm6.21178@fx07.iad>
X-Complaints-To: abuse@usenet-news.net
NNTP-Posting-Date: Tue, 12 Oct 2021 10:56:47 UTC
Organization: usenet-news.net
Date: Tue, 12 Oct 2021 10:56:47 GMT
X-Received-Bytes: 2928
 by: Branimir Maksimovic - Tue, 12 Oct 2021 10:56 UTC

On 2021-10-12, Quadibloc <jsavard@ecn.ab.ca> wrote:
> On Saturday, October 9, 2021 at 1:16:10 PM UTC-6, John Levine wrote:
>> According to Ivan Godard <iv...@millcomputing.com>:
>> >>> Granted, this does have the (fairly obvious) property that most
>> >>> traditional schemes for memory protection, ..., kinda go out the
>> >>> window when one has multiple logical processes within the same address
>> >>> space (as do the traditional distinctions between threads and processes).
>> >>
>> >> Not necessarily. Just because multiple logical processes exist within
>> >> the same address space, doesn't mean that each process has legal access
>> >> to all the addresses within that space.
>> >
>> >An address space tells you what you can name; a protection domain tells
>> >you whether naming it does you any good.
>
>> Quite right. Over fifty years ago S/360 put everything in one address space
>> and had a memory protection scheme so that programs couldn't stomp on (or in
>> some cases even look at) pages that weren't theirs.
>
> Oh, yes. It can be argued that not letting processes even name what you
> don't want them to see or change is, at least, a good idea because it's an
> extra line of defence. But just because it _is_ an extra line of defence
> doesn't make it impossible to breach, weaknesses have been found in
> systems with virtualization-based security.
>
> So the real question is: is the extra level of complexity worth it?
>

IMO, no. Security is only meaningfull when nothing is secret, eg I openly
say I work for spooks and RS military. No one will notice that :P

> Historically, of course, virtualization was first brought in to allow the
> convenience of having a computer serve, at the same time, users who
> wanted to use that computer under different operating systems.
> Extra security was just a bonus.
>

Segmentation is better model that is faster memory access to certain
address space and no unecessary overhoad of address translation...

> John Savard

Greets, Branimir.

--

7-77-777
Evil Sinner!
with software, you repeat same experiment, expecting different results...

Pages:123456789101112131415161718192021222324252627282930313233
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor