Re: Continuations

Liste des GroupesRevenir à c arch 
Sujet : Re: Continuations
De : tkoenig (at) *nospam* netcologne.de (Thomas Koenig)
Groupes : comp.arch
Date : 16. Jul 2024, 07:54:44
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v751v4$1523o$1@dont-email.me>
References : 1 2 3 4 5 6 7 8
User-Agent : slrn/1.0.3 (Linux)
Scott Lurndal <scott@slp53.sl.home> schrieb:
Thomas Koenig <tkoenig@netcologne.de> writes:
Scott Lurndal <scott@slp53.sl.home> schrieb:
Thomas Koenig <tkoenig@netcologne.de> writes:
EricP <ThatWouldBeTelling@thevillage.com> schrieb:
>
Anyway, at the time I made a mental note about the relative cost of
heap allocation of stack space in an ABI.
>
I wonder if I might mention my dislike of arbitrary limits on
stack size that are imposed on modern 64-bit systems.
>
$ ulimit -s unlimited
>
Should handle the default stack.
>
Some operating systems put a hard limit on this, for example MacOS,
and some an absurdly low limit on per-thread stack size (512 K
or something like that).
>
MacOS has been obsolete for a decade now.

Sorry for messing up my terminology.

OSX has an initial
size of 8MB and a default configured hard limit of 64GB.

The former leads to segfaults on otherwise fine programs, and
makes using gfortran's -fstack-arrays (which really brings speed
improvements) unsuitable for a lot of problems because it puts
local arrays on the stack...

Of course, it still needs to fit into whatever address space
the target processor offers, but even with a 48-bit VA,
there should be enuf VA space for several terabytes of
stack.
>
In any case, one can mmap an arbitrarily large region of
memory and assign it to the stack pointer in (or even before)
main().
>
Changing the standard startup sequence of programs (i.e. replacing
_start) - that would be heavy messing, and be no longer compatible
with standard startup sequences.
>
That depends on the program, I guess.

In this case, a general approach.

A little inline assembler
in main should suffice;

Not possible in Fortran, for example, unless the compiler does
so itself.  And, of course, it should be platform-independent,
especially on systems that the maintainers of the Fortran compiler
have no access to, and no special knowledge of, plus it would
require platform-specific assembly in the startup code.

An mmap'ed region will automatically
allocate on first touch, so the stack can grow as necessary.

Slightly different topic: Unfortunately, Apple decided in their
wisdom that an mmapped region cannot grow, so you have to make a
guess at the needed size.  As to why, I have no idea; they probably
wanted to follow the example of Windows.  Learning from Microsoft
is learning to win!

This makes dynamic memory management for shared memory much harder
than it needs to be (been there, been bitten by it).

And for threads, this would get even messier.
>
pthreads already get their own stack, and have standard functions
to specify stack pointer and stack size (e.g. pthread_attr_setstack(2)).

Life would be so much easier if defaults were reasonable...

Date Sujet#  Auteur
13 Jul 24 * Continuations138Lawrence D'Oliveiro
13 Jul 24 +* Re: Continuations4BGB
14 Jul 24 i+* Re: Continuations2aph
15 Jul 24 ii`- Re: Continuations1Lawrence D'Oliveiro
14 Jul 24 i`- Re: Continuations1Anton Ertl
13 Jul 24 +* Re: Continuations23John Dallman
14 Jul 24 i+* Re: Continuations21Lawrence D'Oliveiro
14 Jul 24 ii`* Re: Continuations20George Neuner
14 Jul 24 ii `* Re: Continuations19John Levine
14 Jul 24 ii  `* Re: Continuations18Niklas Holsti
15 Jul 24 ii   +* Re: Continuations16John Levine
15 Jul 24 ii   i+- Re: Continuations1Terje Mathisen
15 Jul 24 ii   i+- Re: Continuations1John Levine
15 Jul 24 ii   i+* Re: Continuations9Niklas Holsti
16 Jul 24 ii   ii`* Re: Continuations8Lawrence D'Oliveiro
16 Jul 24 ii   ii `* Re: Continuations7John Levine
16 Jul 24 ii   ii  +- Re: Continuations1Chris M. Thomasson
16 Jul 24 ii   ii  `* Re: Continuations5Lawrence D'Oliveiro
16 Jul 24 ii   ii   `* Re: Continuations4John Levine
16 Jul 24 ii   ii    `* Re: Continuations3Lawrence D'Oliveiro
16 Jul 24 ii   ii     `* Re: Continuations2MitchAlsup1
17 Jul 24 ii   ii      `- Re: Continuations1Lawrence D'Oliveiro
16 Jul 24 ii   i+* Re: Continuations3Lawrence D'Oliveiro
16 Jul 24 ii   ii`* Re: Continuations2MitchAlsup1
16 Jul 24 ii   ii `- Re: Continuations1Lawrence D'Oliveiro
16 Jul 24 ii   i`- Re: Continuations1MitchAlsup1
16 Jul 24 ii   `- Re: Continuations1Lawrence D'Oliveiro
14 Jul 24 i`- Re: Continuations1BGB
13 Jul 24 +- Re: Continuations1BGB
14 Jul 24 +* Re: Continuations10Lawrence D'Oliveiro
15 Jul 24 i+* Re: Continuations7Thomas Koenig
15 Jul 24 ii`* Re: Continuations6Thomas Koenig
16 Jul 24 ii +* Re: Continuations4Thomas Koenig
16 Jul 24 ii i+* Re: Continuations2MitchAlsup1
17 Jul 24 ii ii`- Re: Continuations1Lawrence D'Oliveiro
17 Jul 24 ii i`- Re: Continuations1Lawrence D'Oliveiro
17 Jul 24 ii `- Re: Continuations1John Dallman
16 Jul 24 i+- Re: Continuations1Lawrence D'Oliveiro
16 Jul 24 i`- Re: Continuations1John Levine
14 Jul 24 +- Re: Continuations1George Neuner
14 Jul 24 +* Re: Continuations92John Savard
14 Jul 24 i+- Re: Continuations1BGB
15 Jul 24 i`* Re: Continuations90Lawrence D'Oliveiro
16 Jul 24 i `* Re: Continuations89John Savard
16 Jul 24 i  +* Re: Continuations2MitchAlsup1
17 Jul 24 i  i`- Re: Continuations1Lawrence D'Oliveiro
16 Jul 24 i  `* Re: Continuations86MitchAlsup1
17 Jul 24 i   +* Re: Continuations69John Savard
17 Jul 24 i   i`* Re: Continuations68MitchAlsup1
17 Jul 24 i   i `* Re: Continuations67Thomas Koenig
17 Jul 24 i   i  +- Re: Continuations1Thomas Koenig
17 Jul 24 i   i  +- Re: Continuations1Michael S
17 Jul 24 i   i  +* Re: Continuations37MitchAlsup1
17 Jul 24 i   i  i`* Re: Continuations36Stephen Fuld
17 Jul 24 i   i  i `* Re: Continuations35MitchAlsup1
17 Jul 24 i   i  i  +* Re: Continuations22Stephen Fuld
18 Jul 24 i   i  i  i+* Re: Continuations8MitchAlsup1
18 Jul 24 i   i  i  ii+- Re: Continuations1Michael S
18 Jul 24 i   i  i  ii`* Re: Continuations6MitchAlsup1
19 Jul 24 i   i  i  ii +- Re: Continuations1Stephen Fuld
21 Jul 24 i   i  i  ii +* Re: Reservation stations [was Continuations]2Anton Ertl
21 Jul 24 i   i  i  ii i`- Re: Reservation stations [was Continuations]1MitchAlsup1
21 Jul 24 i   i  i  ii `* Re: Reservation stations [was Continuations]2MitchAlsup1
22 Jul 24 i   i  i  ii  `- IPC (was: Reservation stations)1Anton Ertl
18 Jul 24 i   i  i  i+* Re: Continuations11Thomas Koenig
18 Jul 24 i   i  i  ii`* Re: Continuations10Michael S
18 Jul 24 i   i  i  ii `* Re: Continuations9Thomas Koenig
18 Jul 24 i   i  i  ii  `* Re: Continuations8Michael S
18 Jul 24 i   i  i  ii   +* Re: Continuations6Thomas Koenig
18 Jul 24 i   i  i  ii   i+- Re: Continuations1Michael S
18 Jul 24 i   i  i  ii   i`* Re: Continuations4Michael S
19 Jul 24 i   i  i  ii   i `* Re: Continuations3Thomas Koenig
19 Jul 24 i   i  i  ii   i  `* Re: Continuations2Michael S
20 Jul 24 i   i  i  ii   i   `- Re: Continuations1Thomas Koenig
18 Jul 24 i   i  i  ii   `- Re: Continuations1MitchAlsup1
18 Jul 24 i   i  i  i`* Re: Continuations2John Savard
18 Jul 24 i   i  i  i `- Re: Continuations1Thomas Koenig
18 Jul 24 i   i  i  +* Re: Continuations6Thomas Koenig
18 Jul 24 i   i  i  i`* Re: Continuations5Michael S
18 Jul 24 i   i  i  i `* Re: Continuations4Michael S
18 Jul 24 i   i  i  i  `* Re: Continuations3Thomas Koenig
18 Jul 24 i   i  i  i   `* Re: Continuations2MitchAlsup1
20 Jul 24 i   i  i  i    `- Re: Continuations1Thomas Koenig
18 Jul 24 i   i  i  +* Non-pipelined FDIV/SQRT (was: Continuations)3Stefan Monnier
18 Jul 24 i   i  i  i+- Re: Non-pipelined FDIV/SQRT1MitchAlsup1
28 Jul 24 i   i  i  i`- Re: Non-pipelined FDIV/SQRT1Michael S
18 Jul 24 i   i  i  `* Re: Continuations3MitchAlsup1
28 Jul 24 i   i  i   `* Re: Continuations2Paul A. Clayton
28 Jul 24 i   i  i    `- Re: Continuations1Michael S
19 Jul 24 i   i  `* Re: Continuations27Terje Mathisen
19 Jul 24 i   i   +* Re: Continuations5Thomas Koenig
19 Jul 24 i   i   i+- Re: Continuations1Chris M. Thomasson
19 Jul 24 i   i   i`* Re: Continuations3MitchAlsup1
20 Jul 24 i   i   i +- Re: Continuations1Terje Mathisen
20 Jul 24 i   i   i `- Re: Continuations1Thomas Koenig
19 Jul 24 i   i   `* Re: Continuations21MitchAlsup1
19 Jul 24 i   i    +* Re: Continuations8Terje Mathisen
22 Jul 24 i   i    i`* Re: Continuations7Michael S
22 Jul 24 i   i    i +* Re: Continuations3MitchAlsup1
22 Jul 24 i   i    i i`* Re: Continuations2Michael S
23 Jul 24 i   i    i i `- Re: Continuations1MitchAlsup1
23 Jul 24 i   i    i `* Re: Continuations3Terje Mathisen
19 Jul 24 i   i    `* Faster div or 1/sqrt approximations (was: Continuations)12Thomas Koenig
17 Jul 24 i   +* Re: Continuations3Lawrence D'Oliveiro
17 Jul 24 i   +* Re: Continuations12Stephen Fuld
17 Jul 24 i   `- Re: fancy instructions, Continuations1John Levine
15 Jul 24 +- Re: Continuations1wolfgang kern
15 Jul 24 +* Re: pessimal storage allocation, Continuations3John Levine
15 Jul 24 +- Re: Continuations1MitchAlsup1
16 Jul 24 `- Re: Continuations1Lynn Wheeler

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal