Re: Suppressing useless wakeups in walreceiver
| От | Nathan Bossart |
|---|---|
| Тема | Re: Suppressing useless wakeups in walreceiver |
| Дата | |
| Msg-id | 20221105220055.GD137360@nathanxps13 обсуждение исходный текст |
| Ответ на | Re: Suppressing useless wakeups in walreceiver (Kyotaro Horiguchi <horikyota.ntt@gmail.com>) |
| Ответы |
Re: Suppressing useless wakeups in walreceiver
|
| Список | pgsql-hackers |
On Mon, Oct 17, 2022 at 03:21:18PM +0900, Kyotaro Horiguchi wrote:
> Now that I see the fix for the implicit conversion:
>
> L527: + nap = Max(0, (nextWakeup - now + 999) / 1000);
> ..
> L545: + (int) Min(INT_MAX, nap),
>
>
> I think limiting the naptime at use is confusing. Don't we place these
> adjacently? Then we could change the nap to an integer. Or we can
> just assert out for the nap time longer than INT_MAX (but this would
> require another int64 variable. I belive we won't need such a long
> nap, (or that is no longer a nap?)
Yeah, I guess this deserves a comment. I could also combine it easily:
nap = (int) Min(INT_MAX, Max(0, (nextWakeup - now + 999) / 1000));
We could probably just remove the WL_TIMEOUT flag and set timeout to -1
whenever "nap" is calculated to be > INT_MAX, but I didn't think it was
worth complicating the code in order to save an extra wakeup every ~25
days.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: