Re: spin_delay() for ARM

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Ants Aasma <ants(at)cybertec(dot)at>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Amit Khandekar <amitdkhan(dot)pg(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: spin_delay() for ARM
Date: 2020-04-17 21:59:52
Message-ID: CA+hUKGK6g9tqrnYzG47h5Dw99tKJhn_RAXCrx2o02GVaxWzpXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Apr 18, 2020 at 2:00 AM Ants Aasma <ants(at)cybertec(dot)at> wrote:
> On Thu, 16 Apr 2020 at 10:33, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:
> > what I know, pgbench cannot be used for testing spinlocks problems.
> >
> > Maybe you can see this issue when a) use higher number clients - hundreds, thousands. Decrease share memory, so there will be press on related spin lock.
>
> There really aren't many spinlocks left that could be tickled by a
> normal workload. I looked for a way to trigger spinlock contention
> when I prototyped a patch to replace spinlocks with futexes. The only
> one that I could figure out a way to make contended was the lock
> protecting parallel btree scan. A highly parallel index only scan on a
> fully cached index should create at least some spinlock contention.

I suspect the snapshot-too-old "mutex_threshold" spinlock can become
contended under workloads that generate a high rate of
heap_page_prune_opt() calls with old_snapshot_threshold enabled. One
way to do that is with a bunch of concurrent index scans that hit the
heap in random order. Some notes about that:

https://www.postgresql.org/message-id/flat/CA%2BhUKGKT8oTkp5jw_U4p0S-7UG9zsvtw_M47Y285bER6a2gD%2Bg%40mail.gmail.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David G. Johnston 2020-04-17 22:30:33 Re: Poll: are people okay with function/operator table redesign?
Previous Message Justin Pryzby 2020-04-17 21:29:51 Re: proposal - function string_to_table