Re: pgsql: Improve LWLock scalability. - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Improve LWLock scalability.
Date
Msg-id 20141225185354.GH31801@alap3.anarazel.de
Whole thread Raw
In response to pgsql: Improve LWLock scalability.  (Andres Freund <andres@anarazel.de>)
Responses Re: pgsql: Improve LWLock scalability.
List 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'
discardsqualifiers 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
targettype 
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
pointertarget type 
lwlock.c:904: warning: passing argument 1 of
'__dtrace_probe$postgresql$lwlock__acquire__or__wait$v1$63686172202a$696e74$696e74'discards qualifiers from pointer
targettype 
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'
discardsqualifiers 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'
discardsqualifiers 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


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Blindly fix a dtrace probe in lwlock.c for a removed local varia
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Improve LWLock scalability.