|From:||Andres Freund <andres(at)anarazel(dot)de>|
|To:||Robert Haas <robertmhaas(at)gmail(dot)com>|
|Cc:||Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: Patch: fix lock contention for HASHHDR.mutex|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
On 2015-12-17 09:47:57 -0500, Robert Haas wrote:
> On Tue, Dec 15, 2015 at 7:25 AM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> > I'd consider using a LWLock instead of a spinlock here. I've seen this
> > contended in a bunch of situations, and the queued behaviour, combined
> > with directed wakeups on the OS level, ought to improve the worst case
> > behaviour measurably.
> Amit had the idea a while back of trying to replace the HASHHDR mutex
> with something based on atomic ops. It seems hard to avoid the
> attendant A-B-A problems but maybe there's a way.
It'd really like to see it being replaced by a queuing lock
(i.e. lwlock) before we go there. And then maybe partition the freelist,
and make nentries an atomic. Just doing those might already be good
enough and should be a lot easier.
|Next Message||Tomas Vondra||2015-12-17 15:34:47||Re: WIP: bloom filter in Hash Joins with batches|
|Previous Message||Robert Haas||2015-12-17 14:47:57||Re: Patch: fix lock contention for HASHHDR.mutex|