Curt Sampson <cjs@cynic.net> writes:
> On Sat, 23 Oct 2004, Tom Lane wrote:
>> Seems to me the overhead of any such scheme would swamp the savings from
>> avoiding kernel/userspace copies ...
> Well, one really can't know without testing, but memory copies are
> extremely expensive if they go outside of the cache.
Sure, but what about all the copying from write queue to page?
>> the locking issues alone would be painful.
> I don't see why they would be any more painful than the current locking
> issues.
Because there are more locks --- the write queue data structure will
need to be locked separately from the page. (Even with a separate write
queue per page, there will need to be a shared data structure that
allows you to allocate and find write queues, and that thing will be a
subject of contention. See BufMgrLock, which is not held while actively
twiddling the contents of pages, but is a serious cause of contention
anyway.)
regards, tom lane