Re: effective_io_concurrency's steampunk spindle maths - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: effective_io_concurrency's steampunk spindle maths
Date
Msg-id CA+hUKGJH13r9_U1QXaYgAqeSATHkRe1Fy+u6ME8bjNOD64jO1A@mail.gmail.com
Whole thread Raw
In response to Re: effective_io_concurrency's steampunk spindle maths  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: effective_io_concurrency's steampunk spindle maths  (Thomas Munro <thomas.munro@gmail.com>)
List pgsql-hackers
On Sat, Mar 7, 2020 at 9:07 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:
> > So I think we should either rename e_i_c or keep it as is, and then also
> > have a new GUC. And then translate the values between those (but that
> > might be overkill).
>
> Please DON'T try to have two interrelated GUCs for this.  We learned
> our lesson about that years ago.

Ack.

> I think dropping the existing GUC is a perfectly sane thing to do,
> if the new definition wouldn't be compatible.  In practice few
> people will notice, because few will have set it.

That's what I thought too, but if Andres is right that "it's not like
anybody knew how to infer a useful value", I'm wondering it's enough
if we just provide an explanation of the change in the release notes.
The default doesn't change (1 goes to 1), so most people will
experience no change, but it you had it set to (say) 42 after careful
experimentation, you might like to consider updating it to the result
of:

  select round(sum(42 / n::float)) as new_setting from
generate_series(1, 42) s(n)

Here's a patch set to remove the spindle stuff, add a maintenance
variant, and use the maintenance one in
heap_compute_xid_horizon_for_tuples().

Attachment

pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: Reducing WaitEventSet syscall churn
Next
From: Tom Lane
Date:
Subject: Re: Add absolute value to dict_int