> 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


-- 
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

Reply via email to