Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-06-06 16:55:58 -0400, Alvaro Herrera wrote:
>> Uh, this is a completely different problem. We discussed long ago that
>> those pallocs in relpath() were going to cause a problem:
> I actually don't think it's a different problem. If we'd restructure
> things so the critical sections are separate this wouldn't be a
> problem. It's imo not a particularly good idea to mdopen() inside a
> critical section either.
The point here seems to be that lazy_vacuum_page does the visibility map
ops inside its own critical section. Why? Setting a visibility bit
doesn't seem like it's critical. Why can't we just move the
END_CRIT_SECTION() to before the PageIsAllVisible test?
regards, tom lane