Re: First set of OSDL Shared Mem scalability results, some wierdness ...
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Curt Sampson <cjs@cynic.net>
Cc: Kevin Brown <kevin@sysexperts.com>, pgsql-performance@postgresql.org
Date: 2004-10-23T18:11:04Z
Lists: pgsql-hackers, pgsql-performance
Curt Sampson <cjs@cynic.net> writes: > Back when I was working out how to do this, I reckoned that you could > use mmap by keeping a write queue for each modified page. Reading, > you'd have to read the datum from the page and then check the write > queue for that page to see if that datum had been updated, using the > new value if it's there. Writing, you'd add the modified datum to the > write queue, but not apply the write queue to the page until you'd had > confirmation that the corresponding transaction log entry had been > written. So multiple writes are no big deal; they just all queue up in > the write queue, and at any time you can apply as much of the write > queue to the page itself as the current log entry will allow. Seems to me the overhead of any such scheme would swamp the savings from avoiding kernel/userspace copies ... the locking issues alone would be painful. regards, tom lane