Re: [HACKERS] wait events for disk I/O

Поиск
Список
Период
Сортировка
От Rushabh Lathia
Тема Re: [HACKERS] wait events for disk I/O
Дата
Msg-id CAGPqQf2aq6ChRrcE7CRWZAAVB6dqeW=TFmgSzQkat5gHqV1jLQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [HACKERS] wait events for disk I/O  (Rushabh Lathia <rushabh.lathia@gmail.com>)
Ответы Re: [HACKERS] wait events for disk I/O  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers

My colleague Rahila reported compilation issue with
the patch. Issue was only coming with we do the clean
build on the branch.

Fixed the same into latest version of patch.

Thanks,
 

On Tue, Jan 31, 2017 at 11:09 AM, Rushabh Lathia <rushabh.lathia@gmail.com> wrote:


On Tue, Jan 31, 2017 at 8:54 AM, Michael Paquier <michael.paquier@gmail.com> wrote:
On Mon, Jan 30, 2017 at 10:01 PM, Rushabh Lathia
<rushabh.lathia@gmail.com> wrote:
> Attached is the patch, which extend the existing wait event infrastructure
> to implement the wait events for the disk I/O. Basically pg_stat_activity's
> wait event information to show data about disk I/O as well as IPC primitives.
>
> Implementation details:
>
> - Added PG_WAIT_IO to pgstat.h and a new enum WaitEventIO
> - Added a wait_event_info argument to FileRead, FileWrite, FilePrefetch,
> FileWriteback, FileSync, and FileTruncate. Set this wait event just before
> performing the file system operation and clear it just after.
> - Pass down an appropriate wait event from  caller of any of those
> functions.
> - Also set and clear a wait event around standalone calls to read(),
> write(), fsync() in other parts of the system.
> - Added documentation for all newly added wait event.

Looks neat, those are unlikely to overlap with other wait events.

Thanks.
 

> Open issue:
> - Might missed few standalone calls to read(), write(), etc which need
> to pass the wait_event_info.

It may be an idea to use LD_PRELOAD with custom versions of read(),
write() and fsync(), and look at the paths where no flags are set in
MyProc->wait_event_info, and log information when that happens.


Yes, may be I will try this.
 
> Thanks to my colleague Robert Haas for his help in design.
> Please let me know your thought, and thanks for reading.

Did you consider a wrapper of the type pg_read_event() or
pg_write_event(), etc.?

I thought on that, but eventually stick to this approach as it looks
more neat and uniform with other wait event implementation.

 
--
Michael



Thanks, 
Rushabh Lathia



--
Rushabh Lathia
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: [HACKERS] Partitioned tables and relfilenode
Следующее
От: Adam Dratwiński
Дата:
Сообщение: [HACKERS] How to read a value when it is VARATT EXTERNAL ONDISK from logicalreplication decoder