From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Ivan Voras <ivoras(at)freebsd(dot)org> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance |
Date: | 2010-10-07 01:25:07 |
Message-ID: | 16636.1286414707@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-performance |
Ivan Voras <ivoras(at)freebsd(dot)org> writes:
> On 10/04/10 20:49, Josh Berkus wrote:
>>> The other major bottleneck they ran into was a kernel one: reading from
>>> the heap file requires a couple lseek operations, and Linux acquires a
>>> mutex on the inode to do that.
> Hmmm... lseek? As in "lseek() then read() or write()" idiom? It AFAIK
> cannot be fixed since you're modifying the global "strean position"
> variable and something has got to lock that.
Um, there is no "global stream position" associated with an inode.
A file position is associated with an open-file descriptor.
If Josh quoted the problem correctly, the issue is that the kernel is
locking a file's inode (which may be referenced by quite a lot of file
descriptors) in order to change the state of one file descriptor.
It sure sounds like a possible source of contention to me.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2010-10-07 01:30:12 | Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance |
Previous Message | Robert Haas | 2010-10-07 00:44:45 | Re: todo point: plpgsql - scrollable cursors are supported |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2010-10-07 01:30:12 | Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance |
Previous Message | Robert Haas | 2010-10-07 00:39:48 | Re: [HACKERS] MIT benchmarks pgsql multicore (up to 48)performance |