[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scratch/igc: Implications of MPS being asynchronous
From: |
Gerd Möllmann |
Subject: |
Re: scratch/igc: Implications of MPS being asynchronous |
Date: |
Sun, 12 Jan 2025 14:43:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Pip Cet <pipcet@protonmail.com> writes:
> "Stefan Kangas" <stefankangas@gmail.com> writes:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>> And saying that "no GC here" assumptions are always false is too
>>> radical to my palate, and AFAIU is at least not accurate.
>
> Unfortunately, I have to be pedantic here: an assumption is "false" if
> the statement it assumes is false. Most no-GC here assumptions aren't
> false, since GC is quite rare, even with MPS.
>
> As with jay-walking, there are different levels of wrongness here: if
> you simply assume there is no traffic, and you don't get hit, your
> assumption wasn't false, but that was mere luck. The assumption was
> still unjustified.
>
> If you go to the considerable trouble of establishing that there is no
> other traffic, jay-walking is still illegal.
>
> And that's what the MPS documentation says in this case: even if there
> is a single application thread using MPS, and we know MPS doesn't create
> extra threads for itself (an implementation detail subject to change at
> any time), and we know no instruction in our critical section can
> possibly hit a memory barrier (another implementation detail), it's
> still wrong to make a no-GC assumption, because you're relying on MPS
> implementation details in an "illegal" way.
>
>> I'm not sure what "radical" means in this context. If it is true, we
>> should write it, and if not, we shouldn't.
>
> It's a rule, like "red light means stop". Eli is saying that we can
> prove in certain circumstances that the rule isn't necessary, and then
> it's okay to ignore it. I disagree.
>
> Pip
Well said 👍
- Re: scratch/igc: Implications of MPS being asynchronous, (continued)
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/13
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/13
- Re: scratch/igc: Implications of MPS being asynchronous, Gerd Möllmann, 2025/01/13
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/13
- Re: scratch/igc: Implications of MPS being asynchronous, Gerd Möllmann, 2025/01/13
- Re: scratch/igc: Implications of MPS being asynchronous, Gerd Möllmann, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/13
- Re: scratch/igc: Implications of MPS being asynchronous, Pip Cet, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Pip Cet, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous,
Gerd Möllmann <=
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Óscar Fuentes, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Óscar Fuentes, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Pip Cet, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Pip Cet, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Pip Cet, 2025/01/12
- Re: scratch/igc: Implications of MPS being asynchronous, Eli Zaretskii, 2025/01/12
Re: scratch/igc: Implications of MPS being asynchronous, Pip Cet, 2025/01/12