Re: Draft release notes complete
От | Jeff Janes |
---|---|
Тема | Re: Draft release notes complete |
Дата | |
Msg-id | CAMkU=1yv7se1dS8HB-B6sdp5jVGEuaRrCGQLbK7K2DPoM0ckWw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Draft release notes complete (Jeff Janes <jeff.janes@gmail.com>) |
Список | pgsql-hackers |
On Mon, May 14, 2012 at 9:56 AM, Jeff Janes <jeff.janes@gmail.com> wrote: > On Mon, May 14, 2012 at 9:06 AM, Bruce Momjian <bruce@momjian.us> wrote: > >> This is the git commit message: >> >> Make group commit more effective. >> >> When a backend needs to flush the WAL, and someone else is already flushing >> the WAL, wait until it releases the WALInsertLock and check if we still need >> to do the flush or if the other backend already did the work for us, before >> acquiring WALInsertLock. This helps group commit, because when the WAL flush >> finishes, all the backends that were waiting for it can be woken up in one >> go, and the can all concurrently observe that they're done, rather than >> waking them up one by one in a cascading fashion. >> >> This is based on a new LWLock function, LWLockWaitUntilFree(), which has >> peculiar semantics. If the lock is immediately free, it grabs the lock and >> returns true. If it's not free, it waits until it is released, but then >> returns false without grabbing the lock. This is used in XLogFlush(), so >> that when the lock is acquired, the backend flushes the WAL, but if it's >> not, the backend first checks the current flush location before retrying. >> >> Original patch and benchmarking by Peter Geoghegan and Simon Riggs, although >> this patch as committed ended up being very different from that. >> >> (Heikki Linnakangas) >> >> Is that commit message inaccurate? > > I think the commit message is accurate, other than saying > WALInsertLock where it meant WALWriteLock. Sorry, wrong number of negations. "I think the commit message is accurate, other than" Cheers, Jeff
В списке pgsql-hackers по дате отправления: