Re: pgsql: Improve LWLock scalability.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Improve LWLock scalability.
Date: 2014-12-25 18:53:54
Message-ID: 20141225185354.GH31801@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

> Improve LWLock scalability.

> src/backend/storage/lmgr/lwlock.c | 931 +++++++++++++++++++++++++------------
> src/include/storage/lwlock.h | 24 +-
> 2 files changed, 653 insertions(+), 302 deletions(-)

This broke dtrace probes in a trivial way. Looking at the log made me
notice though that the probes in lwlock.c generate warnings since the
tranche changes went in. Check
http://pgbuildfarm.org/cgi-bin/show_stage_log.pl?nm=locust&dt=2014-12-25%2014%3A30%3A40&stg=make

lwlock.c: In function 'LWLockAcquireCommon':
lwlock.c:650: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__wait__start$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:661: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__wait__done$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:677: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__acquire$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c: In function 'LWLockConditionalAcquire':
lwlock.c:750: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__condacquire__fail$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:757: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__condacquire$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c: In function 'LWLockAcquireOrWait':
lwlock.c:864: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__wait__start$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:875: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__wait__done$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:897: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__acquire__or__wait__fail$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:904: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__acquire__or__wait$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c: In function 'LWLockWaitForVar':
lwlock.c:1037: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__wait__start$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:1049: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__wait__done$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c:1060: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__acquire$v1$63686172202a$696e74$696e74' discards qualifiers from pointer target type
lwlock.c: In function 'LWLockRelease':
lwlock.c:1247: warning: passing argument 1 of '__dtrace_probe$postgresql$lwlock__release$v1$63686172202a$696e74' discards qualifiers from pointer target type

That's because LWLockTranche->name is const. As I've never used the
dtrace probes and apparently no other developer does either I'm
regarding the value of the const higher than those of not generating
warnings in dtrace builds. Anyone sees that differently?

Personally I think at this point we could just rip the probe support
out, but I'm not going to fight for that in earnest.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2014-12-25 19:13:08 Re: pgsql: Improve LWLock scalability.
Previous Message Andres Freund 2014-12-25 18:49:01 pgsql: Blindly fix a dtrace probe in lwlock.c for a removed local varia