pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Amit Kapila <amit.kapila@huawei.com>
To: 'Greg Smith' <greg@2ndQuadrant.com>
Cc: 'PostgreSQL-development' <pgsql-hackers@postgreSQL.org>
Subject: Re: Move unused buffers to freelist
Date: Thu, 16 May 2013 19:48:02 +0530
Message-ID: <00cc01ce5240$2da362b0$88ea2810$@kapila@huawei.com> (raw )
In-Reply-To: <003101ce5119$5bed3e70$13c7bb50$@kapila@huawei.com >
References: <002f01ce50a8$e057c7a0$a10756e0$@kapila@huawei.com >
<51928CDA.7030009@2ndQuadrant.com >
<003101ce5119$5bed3e70$13c7bb50$@kapila@huawei.com >
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-hackers>
On Wednesday, May 15, 2013 8:38 AM Amit Kapila wrote:
> On Wednesday, May 15, 2013 12:44 AM Greg Smith wrote:
> > On 5/14/13 9:42 AM, Amit Kapila wrote:
> > > In the attached patch, bgwriter/checkpointer moves unused
> > (usage_count
> > > =0 && refcount = 0) buffer's to end of freelist. I have implemented
> a
> > > new API StrategyMoveBufferToFreeListEnd() to
> >
> > There's a comment in the new function:
> >
> > It is possible that we are told to put something in the freelist that
> > is already in it; don't screw up the list if so.
> >
> > I don't see where the code does anything to handle that though. What
> > was your intention here?
>
> The intention is that put the entry in freelist only if it is not in
> freelist which is accomplished by check
> If (buf->freeNext == FREENEXT_NOT_IN_LIST). Every entry when removed
> from
> freelist, buf->freeNext is marked as FREENEXT_NOT_IN_LIST.
> Code Reference (last line):
> StrategyGetBuffer()
> {
> ..
> ..
> while (StrategyControl->firstFreeBuffer >= 0)
> {
> buf = &BufferDescriptors[StrategyControl-
> >firstFreeBuffer];
> Assert(buf->freeNext != FREENEXT_NOT_IN_LIST);
>
> /* Unconditionally remove buffer from freelist */
> StrategyControl->firstFreeBuffer = buf->freeNext;
> buf->freeNext = FREENEXT_NOT_IN_LIST;
>
> ...
> }
>
> Also the same check exists in StrategyFreeBuffer().
>
> > This area has always been the tricky part of the change. If you do
> > something complicated when adding new entries, like scanning the
> > freelist for duplicates, you run the risk of holding BufFreelistLock
> > for
> > too long.
>
> Yes, this is true and I had tried to hold this lock for minimal time.
> In this patch, it holds BufFreelistLock only to put the unused buffer
> at end
> of freelist.
>
> > To try and see that in benchmarks, I would use a small
> > database scale (I typically use 100 for this type of test) and a
> large
> > number of clients.
I shall try this test, do you have any suggestions for shred buffers and
number of clients for 100 scale factor?
> >"-M prepared" would help get a higher transaction
> > rate out of the hardware too. It might take a server with a large
> core
> > count to notice any issues with holding the lock for too long though.
>
> This is good idea, I shall take another set of readings with "-M
> prepared"
>
> > Instead you might just invalidate buffers before they go onto the
> list.
> > Doing that will then throw away usefully cached data though.
>
> Yes, if we invalidate buffers, it might throw away usefully cached data
> especially when working set just a tiny bit smaller than
> shared_buffers.
> This is pointed by Robert in his mail
> http://www.postgresql.org/message -
> id/CA+TgmoYhWsz__KtSxm6BuBirE7VR6Qqc_COkbE
> ZTQpk8oom3CA@mail.gmail.com
>
>
> > To try and optimize both insertion speed and retaining cached data,
>
> I think by the method proposed by patch it takes care of both, because
> it
> directly puts free buffer at end of freelist and
> because it doesn't invalidate the buffers it can retain cached data for
> longer period.
> Do you see any flaw with current approach?
>
> > I
> > was thinking about using a hash table for the free buffers, instead
> of
> > the simple linked list approach used in the code now.
>
> Okay, we can try different methods for maintaining free buffers if we
> find
> current approach doesn't turn out to be good.
>
> > Also: check the formatting on the additions to in bufmgr.c, I
> noticed
> > a
> > spaces vs. tabs difference on lines 35/36 of your patch.
>
> Thanks for pointing it, I shall send an updated patch along with next
> set of
> performance data.
Further Performance Data:
Below data is for average 3 runs of 20 minutes
Scale Factor - 1200
Shared Buffers - 7G
8C-8T 16C-16T 32C-32T
64C-64T
HEAD 1739 1461 1578
1609
After Patch 4029 1924 1743
1706
Scale Factor - 1200
Shared Buffers - 10G
8C-8T 16C-16T 32C-32T
64C-64T
HEAD 2004 2270 2195
2173
After Patch 2298 2172 2111
2044
Detailed data of 3 runs is attached with mail.
Observations :
1. For scale factor 1200, With 5G and 7G Shared buffers,
a. there is reasonably good performance after patch (>50%).
b. However the performance increase is not so good when number of
clients-threads increase.
The reason for it can be that at higher number of clients/threads, there are
other blocking factors(other LWLocks, I/O) that limit the benefit of moving
buffers to freelist
2. For scale factor 1200, With 10G Shared buffers,
a. Performance increase is observed for 8 clients/8 threads reading
b. There is performance dip (3~6%) from 16C onwards. The reasons could be
a. that with such a long buffer list, actually taking BufFreeListLock by
BGwriter frequently (bgwrite_delay = 200ms) can add to Concurrency overhead
which is overcoming the need for getting
buffer from freelist.
b. The other reason is sometimes it comes to free the buffer which is
already in freelist. It can also add to small overhead as currently to check
weather buffer is in freelist, we need to take BufFreeListLock
I will try to find more reasons for 2b and work to resolve performance dip
of 2b.
Any suggestions will be really helpful to proceed and crack this problem.
With Regards,
Amit Kapila.
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
Attachments:
[text/html] move_unused_buffers_to_freelist_1.htm (38.4K, ../00cc01ce5240$2da362b0$88ea2810$@kapila@huawei.com/3-move_unused_buffers_to_freelist_1.htm)
download | inline:
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 12">
<link rel=File-List href="move_unused_buffers_to_freelist_files/filelist.xml">
<style id="move_unused_buffers_to_freelist_1601_Styles">
<!--table
{mso-displayed-decimal-separator:"\.";
mso-displayed-thousand-separator:"\,";}
.xl151601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl651601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border:.5pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl661601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:1.0pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl671601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:1.0pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl681601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:1.0pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl691601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:.5pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl701601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:1.0pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:.5pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl711601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:1.0pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl721601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:.5pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl731601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:1.0pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:.5pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:nowrap;}
.xl741601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:1.0pt solid windowtext;
background:yellow;
mso-pattern:black none;
white-space:nowrap;}
.xl751601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
background:yellow;
mso-pattern:black none;
white-space:nowrap;}
.xl761601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:1.0pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
background:yellow;
mso-pattern:black none;
white-space:nowrap;}
.xl771601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
mso-background-source:auto;
mso-pattern:auto;
white-space:normal;}
.xl781601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:1.0pt solid windowtext;
background:yellow;
mso-pattern:black none;
white-space:normal;}
.xl791601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:1.0pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:normal;}
.xl801601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:1.0pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:normal;}
.xl811601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:1.0pt solid windowtext;
mso-background-source:auto;
mso-pattern:auto;
white-space:normal;}
.xl821601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:700;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:none;
border-bottom:1.0pt solid windowtext;
border-left:1.0pt solid windowtext;
background:yellow;
mso-pattern:black none;
white-space:normal;}
.xl831601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:700;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:1.0pt solid windowtext;
border-bottom:1.0pt solid windowtext;
border-left:none;
background:yellow;
mso-pattern:black none;
white-space:normal;}
.xl841601
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:windowtext;
font-size:10.0pt;
font-weight:700;
font-style:normal;
text-decoration:none;
font-family:Arial, sans-serif;
mso-font-charset:0;
mso-number-format:General;
text-align:general;
vertical-align:bottom;
border-top:1.0pt solid windowtext;
border-right:none;
border-bottom:1.0pt solid windowtext;
border-left:none;
background:yellow;
mso-pattern:black none;
white-space:normal;}
-->
</style>
</head>
<body>
<!--[if !excel]> <![endif]-->
<!--The following information was generated by Microsoft Office Excel's Publish
as Web Page wizard.-->
<!--If the same item is republished from Excel, all information between the DIV
tags will be replaced.-->
<!----------------------------->
<!--START OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD -->
<!----------------------------->
<div id="move_unused_buffers_to_freelist_1601" align=center
x:publishsource="Excel">
<table border=0 cellpadding=0 cellspacing=0 width=1212 style='border-collapse:
collapse;table-layout:fixed;width:910pt'>
<col width=64 style='width:48pt'>
<col width=138 style='mso-width-source:userset;mso-width-alt:4920;width:104pt'>
<col width=64 span=5 style='width:48pt'>
<col class=xl771601 width=58 style='mso-width-source:userset;mso-width-alt:
2076;width:44pt'>
<col width=64 span=5 style='width:48pt'>
<col class=xl771601 width=56 style='mso-width-source:userset;mso-width-alt:
1991;width:42pt'>
<col width=64 span=4 style='width:48pt'>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 width=64 style='height:13.8pt;width:48pt'></td>
<td class=xl151601 width=138 style='width:104pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
<td class=xl151601 width=64 style='width:48pt'></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td colspan=2 class=xl821601 width=202 style='border-right:1.0pt solid black;
width:152pt'>Configuration Used</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601>O/S</td>
<td class=xl151601>Suse-11</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601>RAM</td>
<td class=xl151601>24GB</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601>Number of Cores</td>
<td class=xl151601 align=right>8</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td colspan=8 class=xl151601>Server Conf: checkpoint_segments - 256,
checkpoint_timeout = 25 min, synchronous_commit=off</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=35 style='height:26.4pt'>
<td height=35 class=xl151601 style='height:26.4pt'></td>
<td class=xl151601>shared_buffers</td>
<td class=xl151601>5GB</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'>shared_buffers</td>
<td class=xl151601>7G</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'>shared_buffer</td>
<td class=xl151601>10G</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601>pgbench</td>
<td class=xl151601 colspan=2>select-only</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601>pgbench-Scale Factor</td>
<td class=xl151601 align=right>1200</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601>Each Run unit</td>
<td class=xl151601>tps</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td colspan=3 class=xl821601 width=192 style='border-right:1.0pt solid black;
width:144pt'>HEAD</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td colspan=3 class=xl821601 width=192 style='border-right:1.0pt solid black;
width:144pt'>HEAD</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td colspan=3 class=xl821601 width=192 style='border-right:1.0pt solid black;
width:144pt'>HEAD</td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=53 style='height:39.6pt'>
<td height=53 class=xl151601 style='height:39.6pt'></td>
<td class=xl741601>Runs/Concurrency</td>
<td class=xl751601 style='border-left:none'>8C-8T</td>
<td class=xl751601 style='border-left:none'>16C-16T</td>
<td class=xl751601 style='border-left:none'>32C-32T</td>
<td class=xl761601 style='border-left:none'>64C-64T</td>
<td class=xl151601></td>
<td class=xl781601 width=58 style='width:44pt'>Runs/Concurrency</td>
<td class=xl751601 style='border-left:none'>8C-8T</td>
<td class=xl751601 style='border-left:none'>16C-16T</td>
<td class=xl751601 style='border-left:none'>32C-32T</td>
<td class=xl761601 style='border-left:none'>64C-64T</td>
<td class=xl151601></td>
<td class=xl781601 width=56 style='width:42pt'>Runs/Concurrency</td>
<td class=xl751601 style='border-left:none'>8C-8T</td>
<td class=xl751601 style='border-left:none'>16C-16T</td>
<td class=xl751601 style='border-left:none'>32C-32T</td>
<td class=xl761601 style='border-left:none'>64C-64T</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl661601 style='border-top:none'>Run-1</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>9664</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>7425</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>5106</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2570</td>
<td class=xl151601></td>
<td class=xl791601 width=58 style='border-top:none;width:44pt'>Run-1</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2026</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1639</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1670</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>1711</td>
<td class=xl151601></td>
<td class=xl791601 width=56 style='border-top:none;width:42pt'>Run-1</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1138</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2219</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2194</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2112</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl661601 style='border-top:none'>Run-2</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>13081</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>9009</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>4874</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2713</td>
<td class=xl151601></td>
<td class=xl791601 width=58 style='border-top:none;width:44pt'>Run-2</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1631</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1422</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1542</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>1543</td>
<td class=xl151601></td>
<td class=xl791601 width=56 style='border-top:none;width:42pt'>Run-2</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2432</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2280</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2139</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2208</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl661601 style='border-top:none'>Run-3</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>13246</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>8932</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>4988</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2990</td>
<td class=xl151601></td>
<td class=xl791601 width=58 style='border-top:none;width:44pt'>Run-3</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1560</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1324</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1524</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>1573</td>
<td class=xl151601></td>
<td class=xl791601 width=56 style='border-top:none;width:42pt'>Run-3</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2443</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2313</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2254</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2199</td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl681601 style='border-top:none'>Average</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>11997</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>8455</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>4989</td>
<td class=xl701601 align=right style='border-top:none;border-left:none'>2757</td>
<td class=xl151601></td>
<td class=xl801601 width=58 style='border-top:none;width:44pt'>Average</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>1739</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>1461</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>1578</td>
<td class=xl701601 align=right style='border-top:none;border-left:none'>1609</td>
<td class=xl151601></td>
<td class=xl801601 width=56 style='border-top:none;width:42pt'>Average</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>2004</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>2270</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>2195</td>
<td class=xl701601 align=right style='border-top:none;border-left:none'>2173</td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td colspan=3 class=xl821601 width=192 style='border-right:1.0pt solid black;
width:144pt'>After Patch</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td colspan=3 class=xl821601 width=192 style='border-right:1.0pt solid black;
width:144pt'>After Patch</td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td colspan=3 class=xl821601 width=192 style='border-right:1.0pt solid black;
width:144pt'>After Patch</td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=53 style='height:39.6pt'>
<td height=53 class=xl151601 style='height:39.6pt'></td>
<td class=xl741601>Runs/Concurrency</td>
<td class=xl751601 style='border-left:none'>8C-8T</td>
<td class=xl751601 style='border-left:none'>16C-16T</td>
<td class=xl751601 style='border-left:none'>32C-32T</td>
<td class=xl761601 style='border-left:none'>64C-64T</td>
<td class=xl151601></td>
<td class=xl781601 width=58 style='width:44pt'>Runs/Concurrency</td>
<td class=xl751601 style='border-left:none'>8C-8T</td>
<td class=xl751601 style='border-left:none'>16C-16T</td>
<td class=xl751601 style='border-left:none'>32C-32T</td>
<td class=xl761601 style='border-left:none'>64C-64T</td>
<td class=xl151601></td>
<td class=xl781601 width=56 style='width:42pt'>Runs/Concurrency</td>
<td class=xl751601 style='border-left:none'>8C-8T</td>
<td class=xl751601 style='border-left:none'>16C-16T</td>
<td class=xl751601 style='border-left:none'>32C-32T</td>
<td class=xl761601 style='border-left:none'>64C-64T</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl661601 style='border-top:none'>Run-1</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>16239</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>11539</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>7395</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2512</td>
<td class=xl151601></td>
<td class=xl791601 width=58 style='border-top:none;width:44pt'>Run-1</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>4039</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1599</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1437</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>1424</td>
<td class=xl151601></td>
<td class=xl791601 width=56 style='border-top:none;width:42pt'>Run-1</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2298</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2199</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2062</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2015</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl661601 style='border-top:none'>Run-2</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>21408</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>15090</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>8923</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2870</td>
<td class=xl151601></td>
<td class=xl791601 width=58 style='border-top:none;width:44pt'>Run-2</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2824</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2004</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>1780</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>1685</td>
<td class=xl151601></td>
<td class=xl791601 width=56 style='border-top:none;width:42pt'>Run-2</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2253</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2189</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2159</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2057</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl661601 style='border-top:none'>Run-3</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>21776</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>13261</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>8846</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>3083</td>
<td class=xl151601></td>
<td class=xl791601 width=58 style='border-top:none;width:44pt'>Run-3</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>5224</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2170</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2013</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2011</td>
<td class=xl151601></td>
<td class=xl791601 width=56 style='border-top:none;width:42pt'>Run-3</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2344</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2128</td>
<td class=xl651601 align=right style='border-top:none;border-left:none'>2114</td>
<td class=xl671601 align=right style='border-top:none;border-left:none'>2060</td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl681601 style='border-top:none'>Average</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>19807</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>13296</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>8388</td>
<td class=xl701601 align=right style='border-top:none;border-left:none'>2821</td>
<td class=xl151601></td>
<td class=xl801601 width=58 style='border-top:none;width:44pt'>Average</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>4029</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>1924</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>1743</td>
<td class=xl701601 align=right style='border-top:none;border-left:none'>1706</td>
<td class=xl151601></td>
<td class=xl801601 width=56 style='border-top:none;width:42pt'>Average</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>2298</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>2172</td>
<td class=xl691601 align=right style='border-top:none;border-left:none'>2111</td>
<td class=xl701601 align=right style='border-top:none;border-left:none'>2044</td>
</tr>
<tr height=18 style='height:13.2pt'>
<td height=18 class=xl151601 style='height:13.2pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=18 style='height:13.8pt'>
<td height=18 class=xl151601 style='height:13.8pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=58 style='width:44pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl771601 width=56 style='width:42pt'></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
<td class=xl151601></td>
</tr>
<tr height=36 style='height:27.0pt'>
<td height=36 class=xl151601 style='height:27.0pt'></td>
<td class=xl711601>Diff In %</td>
<td class=xl721601 align=right style='border-left:none'>65.09</td>
<td class=xl721601 align=right style='border-left:none'>57.25</td>
<td class=xl721601 align=right style='border-left:none'>68.12</td>
<td class=xl731601 align=right style='border-left:none'>2.3</td>
<td class=xl151601></td>
<td class=xl811601 width=58 style='width:44pt'>Diff In %</td>
<td class=xl721601 align=right style='border-left:none'>131.68</td>
<td class=xl721601 align=right style='border-left:none'>31.69</td>
<td class=xl721601 align=right style='border-left:none'>10.45</td>
<td class=xl731601 align=right style='border-left:none'>6.02</td>
<td class=xl151601></td>
<td class=xl811601 width=56 style='width:42pt'>Diff In %</td>
<td class=xl721601 align=right style='border-left:none'>14.67</td>
<td class=xl721601 align=right style='border-left:none'>-4.32</td>
<td class=xl721601 align=right style='border-left:none'>-3.83</td>
<td class=xl731601 align=right style='border-left:none'>-5.93</td>
</tr>
<![if supportMisalignedColumns]>
<tr height=0 style='display:none'>
<td width=64 style='width:48pt'></td>
<td width=138 style='width:104pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=58 style='width:44pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=56 style='width:42pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
<td width=64 style='width:48pt'></td>
</tr>
<![endif]>
</table>
</div>
<!----------------------------->
<!--END OF OUTPUT FROM EXCEL PUBLISH AS WEB PAGE WIZARD-->
<!----------------------------->
</body>
</html>=
view thread (39+ messages) latest in thread
Message-ID: <00cc01ce5240$2da362b0$88ea2810$@kapila@huawei.com>
Permalink: ../00cc01ce5240$2da362b0$88ea2810$@kapila@huawei.com/
Also on: postgresql.org/message-id/00cc01ce5240$2da362b0$88ea2810$@kapila@huawei.com
copy link · copy postgr.es
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: amit.kapila@huawei.com, greg@2ndQuadrant.com
Subject: Re: Move unused buffers to freelist
In-Reply-To: <00cc01ce5240$2da362b0$88ea2810$@kapila@huawei.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox