vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| OK, this is the way to fix for 8.0 and earlier. It is up to you about 8.1. I think we can handle the larger patch if we do another RC. --------------------------------------------------------------------------- Tom Lane wrote: > I wrote: > > I think it would be possible to fix it in a less invasive way by taking > > and releasing the ControlLock an extra time in SimpleLruReadPage and > > SimpleLruWritePage. What's indeterminate about that is the performance > > cost. > > Attached is an alternative patch that does it this way. I realized that > we could use LWLockConditionalAcquire to usually avoid any extra lock > traffic, so the performance cost may be negligible except under the very > heaviest of loads. I still like the bigger patch for 8.2 and forward, > because it's a lot cleaner, but this seems like a credible alternative > for 8.1 and back branches. > > Comments? > > regards, tom lane > Content-Description: slru-race-2.patch [ Type application/octet-stream treated as attachment, skipping... ] -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| ||||
| Bruce Momjian <pgman@candle.pha.pa.us> writes: > OK, this is the way to fix for 8.0 and earlier. It is up to you about > 8.1. I think we can handle the larger patch if we do another RC. Well, I'd like not to do another RC, so I'll hold the larger patch for 8.2. We still need a test to confirm it fixes Jim's problem though. Jim, if you like you can test the second proposed patch instead of that off-the-cuff line swapping. However, either one will need to be run with Asserts on in order to have any confidence that the problem is fixed. If performance is an issue, most of the performance hit is probably coming from memory context checking, so what I'd suggest you do is comment out these two #defines in src/include/pg_config_manual.h: #define CLOBBER_FREED_MEMORY #define MEMORY_CONTEXT_CHECKING That should let you build with --enable-cassert and not take quite so much speed hit. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| Thread Tools | |
| Display Modes | |
|
|