Tom Lane wrote:
> In general, we might want to consider replacing long sleep intervals
> with WaitLatch operations. I thought for a bit about trying to turn
> pg_usleep itself into a WaitLatch call; but it's also used in frontend
> code where that wouldn't work, and anyway it's not clear this would be
> a good thing for short sleeps.
How about having a #ifdef !FRONTEND code path that uses the latch, and
sleep otherwise? And maybe use plain sleep for short sleeps in the
backend also, to avoid the latch overhead. I notice we already have
three implementations of pg_usleep.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services