Re: BUG #14159: PostgreSQL 9.6 parallel scan consume very high mutex lock

From: Andres Freund <andres(at)anarazel(dot)de>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: 德哥 <digoal(at)126(dot)com>, PostgreSQL Bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14159: PostgreSQL 9.6 parallel scan consume very high mutex lock
Date: 2016-05-27 00:21:00
Message-ID: 20160527002100.22h27cxq7jv4bpkr@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2016-05-27 05:43:00 +0530, Amit Kapila wrote:
> On Thu, May 26, 2016 at 11:03 AM, 德哥 <digoal(at)126(dot)com> wrote:
>
> > This is worker process's stack, when i test the hign parallel degree.
> >
> > [<ffffffffa00b8ff0>] ext4_llseek+0x60/0x110 [ext4]
> > [<ffffffff81186eda>] vfs_llseek+0x3a/0x40
> > [<ffffffff81188b96>] sys_lseek+0x66/0x80
> > [<ffffffff8100c072>] system_call_fastpath+0x16/0x1b
> > [<ffffffffffffffff>] 0xffffffffffffffff
> >
> >
>
> Above call stack indicates that the file seek cost has increased on
> employing high number of workers. I think the reason is that employing
> more number of workers to perform parallel scan of same file doesn't work
> very well read-ahead mechanism of OS.

I don't think that's the correct conclusion. That report and profiles
rather seems to suggest we're hitting lock contention, rather than IO
related cost.

The kernel used here is quite old (heavily patched 2.6.32 IIRC). The
kernel guys have since made lseek not take locks in the common case. I
suspect that upgrading to a newer kernel will change the profile
significantly.

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Amit Kapila 2016-05-27 05:57:59 Re: BUG #14159: PostgreSQL 9.6 parallel scan consume very high mutex lock
Previous Message Amit Kapila 2016-05-27 00:13:00 Re: BUG #14159: PostgreSQL 9.6 parallel scan consume very high mutex lock