Thanks for the information. On Sat, 2005-02-26 at 23:39 +1100, Neil Conway wrote: > Jeff Davis wrote: > > I have a newer version of my Synchronized Scanning patch which hopefully > > makes it closer to a real patch, the first one was more of a proof of > > concept. > > A few minor comments: > > - context diffs (diff -c) are the preferred format. Also, folks usually > send patches as a single diff; an easy way to generate that is via `cvs > diff', or `diff -r old_dir new_dir'.
Ok. > - needlessly reindenting code makes it difficult to understand what > you've changed. You should probably follow the PG coding conventions WRT > indentation, brace placement, and so forth, although this will be fixed > by a script later in any case. See Chapter 43 of the docs. > The only reason I did that was because the original source was difficult to read and work on. Is there a reason that code and comments wrap around to the next line throughout the file? > - PG has an abstraction layer for using shared memory that you should > take advantage of. You should do something like: (1) create a function > that returns the amount of shared memory space you require (2) invoke > the function from CreateSharedMemoryAndSemaphores (3) create/attach to > and initialize the shared memory during startup, via ShmemInitStruct(). > See how InitProcGlobal() works, for example. Will do. > - it makes me quite nervous to be reading and writing to shared data > without using locks. If there is too much of a performance hit to > acquire and release a lock for each page traversed, what about only > updating the shared memory stats every K pages? > I'll try that and test it and hopefully any performance problems appear sooner rather than later. If something appears, every K pages sounds like a plan to me. I will get a new patch ready soon with your suggestions. Regards, Jeff Davis ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]