XLogInsert
От | Jeff Janes |
---|---|
Тема | XLogInsert |
Дата | |
Msg-id | f67928030908190914g60397727s5a685636ac73a3f7@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: XLogInsert
|
Список | pgsql-hackers |
In XLogInsert (src/backend/access/transam/xlog.c), the part that adds back-up blocks into the rdata chain is described: /* * Make additional rdata chain entries for the backup blocks, so that we * don't need to special-casethem in the write loop. Note that we have * now irrevocably changed the input rdata chain. If I read the code correctly, the only thing that is irrevocable is that it writes into rdt->next, and if it saved an old copy of rdt first, then it could revoke the changes just by doing rdt_old->next=NULL. If that were done, then I think this code could be moved out of the section holding the WALInsertLock. It could probably be folded into the part of the code that computes the CRC. I don't think this wold be a big performance win, as that part of the code is pretty fast, but every bit helps in a highly contended lock, and I think the code would be simpler as well. Do you think it would be worth me giving this a try? Cheers, Jeff
В списке pgsql-hackers по дате отправления: