]> granicus.if.org Git - postgresql/commit
shm_mq: Have the receiver set the sender's less frequently.
authorRobert Haas <rhaas@postgresql.org>
Fri, 2 Mar 2018 17:20:30 +0000 (12:20 -0500)
committerRobert Haas <rhaas@postgresql.org>
Fri, 2 Mar 2018 17:20:30 +0000 (12:20 -0500)
commit497171d3e2aaeea3b30d710b4e368645ad07ae43
tree5f9175793d3f9759bec8e09b23e6e4e530bee2e9
parent34db06ef9a1d7f36391c64293bf1e0ce44a33915
shm_mq: Have the receiver set the sender's less frequently.

Instead of marking data from the ringer buffer consumed and setting the
sender's latch for every message, do it only when the amount of data we
can consume is at least 1/4 of the size of the ring buffer, or when no
data remains in the ring buffer.  This is dramatically faster in my
testing; apparently, the savings from sending signals less frequently
outweighs the benefit of letting the sender know about available buffer
space sooner.

Patch by me, reviewed by Andres Freund and tested by Rafia Sabih.

Discussion: http://postgr.es/m/CA+TgmoYK7RFj6r7KLEfSGtYZCi3zqTRhAz8mcsDbUAjEmLOZ3Q@mail.gmail.com
src/backend/storage/ipc/shm_mq.c