On Mon, Apr 30, 2018 at 1:38 PM Thomas Munro <thomas.mu...@enterprisedb.com>

> On Mon, Apr 30, 2018 at 3:13 PM, Andres Freund <and...@anarazel.de> wrote:
> > On 2018-04-30 14:59:31 +1200, Thomas Munro wrote:
> >> In EXPLAIN (BUFFERS), there are two kinds of cache misses that show up
> >> as "reads" when in fact they are not reads at all:
> >>
> >> 1.  Relation extension, which in fact writes a zero-filled block.
> >> 2.  The RBM_ZERO_* modes, which provoke neither read nor write.
> >
> > Just for understanding: 2) can never happen for buffers showing up in
> > EXPLAIN, right?
> >
> > I'm not saying you shouldn't fix the accounting...
> Maybe the hash AM can reach that in _hash_getinitbuf() while adding
> overflow pages to bucket chains?  Admittedly case 2 is obscure and
> rare if not unreachable and probably no one would care too much about
> that in practice (whereas case 1 can be seen by simply inserting stuff
> into a new empty table).  Other patches I'm working on for later
> proposal do it more often (think accessing known-empty pages in a kind
> of preallocated extent), and it occurred to me that it's clearly a bug
> on principle, hence this patch.

I checked the patch and I agree with the change 1). And regarding change 2)
whether it is  zeroing the contents of the page or not, it does read?
because if it exists in the buffer pool, we are counting them as hits
of the mode? Am I missing something?

Haribabu Kommi
Fujitsu Australia

Reply via email to