Alvaro Herrera <[EMAIL PROTECTED]> wrote:

> I'm trying to see if it makes sense to do the double-buffering of page
> writes before going further ahead with CRC checking.  I came up with the
> attached patch; it does the double-buffering inconditionally, because as
> it was said, it allows releasing the io_in_progress lock (and resetting
> BM_IO_IN_PROGRESS) early.

I have some comments about the double-buffering:

- Are there any performance degradation because of addtional memcpy?
  8kB of memcpy seems not to be free.

- Is it ok to allocale dblbuf[BLCKSZ] as local variable?
  It might be unaligned. AFAICS we avoid such usages in other places.

- It is the best if we can delay double-buffering until locks are
  conflicted actually. But we might need to allocale shadow buffers
  from shared buffers instead of local memory.

- Are there any other modules that can share in the benefits of
  double-buffering? For example, we could avoid avoid waiting for
  LockBufferForCleanup(). It is cool if the double-buffering can
  be used for multiple purposes.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to