From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Rémi Zara <remi_zara(at)mac(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: Add kqueue(2) support to the WaitEventSet API. |
Date: | 2020-02-20 19:56:57 |
Message-ID: | 20263.1582228617@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
I wrote:
> It seems fairly obvious now that I look at it, but: the epoll and kqueue
> variants of CreateWaitEventSet are both *fundamentally* unsafe, because
> they assume that they can always get a FD when they want one, which is
> not a property that we generally want backend code to have. The only
> reason we've not seen this before with epoll is a lack of testing
> under lots-of-FDs stress.
> The fact that they'll likely leak those FDs on subsequent failures is
> another not-very-nice property.
Hmmm ... actually, there's a third problem, which is the implicit
assumption that we can have as many concurrently-active WaitEventSets
as we like. We can't, if they depend on FDs --- that's a precious
resource. It doesn't look like we actually ever have more than about
two per process right now, but I'm concerned about what will happen
as the usage of the feature increases.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2020-02-20 20:50:29 | Re: pgsql: Add kqueue(2) support to the WaitEventSet API. |
Previous Message | Tom Lane | 2020-02-20 19:44:04 | Re: pgsql: Add kqueue(2) support to the WaitEventSet API. |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2020-02-20 20:20:55 | Re: Add PGURI env var for passing connection string to psql in Docker |
Previous Message | Tom Lane | 2020-02-20 19:44:04 | Re: pgsql: Add kqueue(2) support to the WaitEventSet API. |