Messages in this thread | | | Date | Thu, 21 Dec 2006 11:48:42 +0545 | From | "Manish Regmi" <> | Subject | Re: Linux disk performance. |
| |
On 12/21/06, Bill Davidsen <davidsen@tmr.com> wrote: > > > > But isn't O_DIRECT supposed to bypass buffering in Kernel? > That's correct. But it doesn't put your write at the head of any queue, > it just doesn't buffer it for you. > > > Doesn't it directly write to disk? > Also correct, when it's your turn to write to disk...
But the only process accessing that disk is my application.
> > I tried to put fdatasync() at regular intervals but there was no > > visible effect. > > > Quite honestly, the main place I have found O_DIRECT useful is in > keeping programs doing large i/o quantities from blowing the buffers and > making the other applications run like crap. If you application is > running alone, unless you are very short of CPU or memory avoiding the > copy to an o/s buffer will be down in the measurement noise.
Yes... my application does large amount of I/O. It actually writes video data received from ethernet(IP camera) to the disk using 128 K chunks.
> I had a news (usenet) server which normally did 120 art/sec (~480 tps), > which dropped to about 50 tps when doing large file copies even at low > priority. By using O_DIRECT the impact essentially vanished, at the cost > of the copy running about 10-15% slower. Changing various programs to > use O_DIRECT only helped when really large blocks of data were involved, > and only when i/o clould be done in a way to satisfy the alignment and > size requirements of O_DIRECT. > > If you upgrade to a newer kernel you can try other i/o scheduler > options, default cfq or even deadline might be helpful.
I tried all disk schedulers but all had timing bumps. :(
> -- > bill davidsen <davidsen@tmr.com> > CTO TMR Associates, Inc > Doing interesting things with small computers since 1979 >
-- --------------------------------------------------------------- regards Manish Regmi
--------------------------------------------------------------- UNIX without a C Compiler is like eating Spaghetti with your mouth sewn shut. It just doesn't make sense. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |