On Tue, May 19, 2015 at 8:45 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
> On Mon, May 11, 2015 at 3:00 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>> I think it might be better to try to solve this problem in a more
>> localized way. Can we arrange for planstate->instrumentation to point
>> directory into the DSM, instead of copying the data over later?
>
> Yes, we can do that but I am not sure we can do that for pgBufferUsage
> which is a separate information we need to pass back to master backend.
> One way could be to change pgBufferUsage to a pointer and then allocate
> the memory for same at backend startup time and for parallel workers, it
> should point to DSM. Do you see any simple way to handle it?
No, that seems problematic.
> Another way could be that master backend waits for parallel workers to
> finish before collecting the instrumentation information and buffer usage
> stats. It seems to me that we need this information (stats) after execution
> in master backend is over, so I think we can safely assume that it is okay
> to finish the execution of parallel workers if they are not already finished
> the execution.
I'm not sure exactly where you plan to insert the wait.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company