From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Don Baccus <dhogaza(at)pacifier(dot)com> |
Cc: | Alfred Perlstein <bright(at)wintelcom(dot)net>, Vadim Mikheev <vmikheev(at)sectorbase(dot)com>, "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>, peter_e(at)gmx(dot)net, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c) |
Date: | 2000-11-16 19:53:07 |
Message-ID: | 200011161953.OAA26213@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> At 02:13 PM 11/16/00 -0500, Bruce Momjian wrote:
>
> >> I think the default should probably be no delay, and the documentation
> >> on enabling this needs to be clear and obvious (i.e. hard to miss).
> >
> >I just talked to Tom Lane about this. I think a sleep(0) just before
> >the flush would be the best. It would reliquish the cpu slice if
> >another process is ready to run. If no other backend is running, it
> >probably just returns. If there is another one, it gives it a chance to
> >complete. On return from sleep(0), it can check if it still needs to
> >flush. This would tend to bunch up flushers so they flush only once,
> >while not delaying cases where only one backend is running.
>
> This sounds like an interesting approach, yes.
In OS kernel design, you try to avoid process herding bottlenecks.
Here, we want them herded, and giving up the CPU may be the best way to
do it.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2000-11-16 20:02:22 | Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c) |
Previous Message | Larry Rosenman | 2000-11-16 19:49:40 | Re: RE: [COMMITTERS] pgsql/src/backend/access/transam ( xact.c xlog.c) |