public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* fadvise+sync_file_range Vs O_DIRECT
@ 2007-04-03 10:51 Ameya Mitragotri
  2007-04-03 19:19 ` Phillip Susi
  0 siblings, 1 reply; 4+ messages in thread
From: Ameya Mitragotri @ 2007-04-03 10:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: suparna, pbadari

[-- Attachment #1: Type: text/plain, Size: 842 bytes --]

Hello,
I am doing some benchmarking on writes to the hdd from a simple
application (attached).
Im benchmarking the writes using the following
- write with O_DIRECT
- write with fadvise + O_SYNC
- write with fadvise + sync_file_range

Ive tested the writes in chunks of 4/8/16 KB and 1MB

The results show fadvise + sync_file_range is on par or better than
O_DIRECT. Detailed results are attached.

Now are these results along the expected lines? AFAIK O_DIRECT should
be faster because it bypasses the cache. Does it make sense for apps
to use fadvise + sync_file_range rather than use O_DIRECT?

I havent tried benchmarking using tools like Iozone as yet.

Hardware/OS details
1) AMD Athlon with 512 MB RAM running plain vanilla 2.6.20 (ext3 partition)
2) Intel P4 with 512 MB RAM running plain vanilla 2.6.20 (ext3 partition)

Thanks
Ameya

[-- Attachment #2: appl.tar.gz --]
[-- Type: application/x-gzip, Size: 5498 bytes --]

[-- Attachment #3: odirect.txt --]
[-- Type: text/plain, Size: 1902 bytes --]

				O_DIRECT				
								
4K		8K		16K		64K		1M
								
75626.34	53137.48	49263.58	48017.88	43199
								
44787		25452		17050		10442		8775
39895		97939		34024		18844		30244
111063		27507		27139		28850		44359
48343		29046		28858		82900		40925
44384		30985		16371		45679		35577
36919		28481		56743		37928		34170
44343		28836		27617		35426		35844
45148		28865		76324		37369		34806
44453		28861		25919		32887		29888
45639		28868		36694		43376		38589
46829		28862		47014		37133		42702
44831		27146		37178		37187		33847
44939		32808		37180		37113		35865
37180		27183		37363		37190		34063
36842		28822		20563		37157		35801
40963		28863		136910		35663		35898
42155		28867		13272		28322		35811
44859		28859		33302		47811		39756
44783		28867		27944		9038		42671
40812		26264		12536		63794		33871
49601		39187		72871		38604		35870
42811		39700		12673		36756		34080
50571		27129		51175		37164		35806
394993		28862		79338		37159		35817
38668		28863		12577		15465		18760
42864		28864		32429		49628		46786
44958		28868		28855		37082		40984
44564		29047		28861		43121		34065
37733		29420		28862		39499		8481
42304		27211		28867		37140		78052
44020		28793		28858		37153		8286
39300		28877		27134		35645		27535
38236		28831		28863		15717		69280
46225		28866		28858		65864		8290
44965		28859		28862		64842		29335
125025		109304		105308		9526		54581
124800		113417		18856		88966		102495
123426		27753		181516		20588		8686
123296		108058		18963		175393		8634
123286		106323		178076		21466		16750
122005		107265		103631		175275		174088
120922		106893		18759		11106		8464
123411		108072		13790		175869		85829
123988		106730		104150		9409		14094
121964		107051		20478		88562		179919
123960		114400		13551		104760		103707
122677		114721		104940		152458		8400
123159		112336		20458		10075		85527
124142		113325		187358		12336		8480
124276		108468		104261		10157		85407


[-- Attachment #4: fadvise+o_sync.txt --]
[-- Type: text/plain, Size: 2056 bytes --]

				Fadvise + O_SYNC				
								
4K		8K		16K		64K		1M
								
376290.86	202126.52	131960.98	76494.46	59176.52
								
330257		284465		100156		24233		19054
323958		193652		142911		74914		30224
357719		183639		149487		43475		90392
336065		166881		137875		114947		20033
340743		192979		89507		78008		117245
317783		181974		98894		98492		48205
351636		162300		109036		19969		51045
347116		170515		107965		81623		89149
333348		172022		133903		133210		12201
320617		180446		132839		63198		92913
339150		148410		107109		31272		12311
338398		168031		109812		102671		85124
329884		172748		121741		29860		12899
342271		150067		133982		94922		84807
330628		183596		123372		62554		12467
558715		156611		89231		121640		93566
365960		173794		103880		66925		12245
353970		157820		131674		76353		87231
376809		156348		97552		41378		12704
349713		169535		111219		117543		85127
389939		162914		121444		48571		12266
366682		166365		110327		70402		85495
329085		176377		136800		80525		12314
322519		160928		117013		79167		76546
371126		170565		124932		65822		12200
340151		165020		116263		29476		84982
369965		165502		121148		156296		12822
363818		178192		114615		73100		85061
358747		163731		110885		62335		12211
320117		167126		133125		42280		85532
332665		430943		187494		75522		12221
381596		261888		115885		59814		85586
343245		202842		122189		49196		12262
349435		169774		143609		119339		86675
435420		194419		104202		63832		12278
422798		207130		127684		94907		77211
405447		172173		97506		56524		12332
412660		393660		100924		92678		102327
409800		218263		201179		131964		16074
412765		250095		179226		106675		99372
468265		240041		163801		107430		12725
444476		245848		161119		23130		179834
460215		246600		167639		19080		12702
393892		229683		197418		124864		179599
450509		238987		141143		116350		12737
410514		250762		173352		110995		178979
418630		221949		185076		111781		12910
427651		253373		150761		22674		180690
421891		241654		154951		19971		109743
435780		233689		184194		132836		14198
								


[-- Attachment #5: sync_file_range+fadvise.txt --]
[-- Type: text/plain, Size: 1918 bytes --]

				Fadvise				
								
4K		8K		16K		64K		1M
								
68731.44	54785.04	43424.16	50675.74	53662.22
								
54267		31361		18784		12546		12600
46225		30065		61485		72450		66269
45311		28853		15009		11509		11709
45133		28851		29856		15609		21572
46757		27137		28841		53980		44241
44940		28860		29225		73881		42943
45983		28864		58814		11475		69733
44601		29347		14753		111475		70690
39152		26284		24452		13650		11700
39065		36044		28854		28861		26130
43345		29162		27136		100312		70684
45889		28555		28857		11279		11676
45584		28862		28865		14421		24567
47868		28861		20303		80027		66358
43100		28860		17709		22290		11953
39529		24043		61646		63433		27332
46386		40337		56458		11468		69087
46438		28826		14683		16734		11696
37284		28835		15559		26140		42117
47199		28851		30653		105319		31073
46785		27219		116569		25272		91205
46335		28772		14246		75217		33579
45141		28877		69241		43902		37290
50516		23573		27784		44080		12316
46348		61561		14939		13472		35430
45591		42320		54400		17236		47532
41470		28726		15312		104052		40950
47506		28432		66203		12444		35604
39612		28978		15029		14713		12324
47629		40811		30374		24188		35886
38803		29123		28852		95727		68921
54245		28685		28854		11336		11665
45689		29030		29799		50497		24019
40043		28560		29637		59630		73122
48807		29543		28744		11790		11750
46114		27973		28852		12989		24374
136032		159174		114181		107551		102757
132853		117766		109321		18466		11755
129386		116853		25764		11455		181876
128712		112223		15968		11372		98634
124886		110876		24331		179743		16890
137826		116510		14934		17423		174706
130776		112289		20925		179588		17769
127226		112761		185525		11327		174125
126002		113973		20798		182007		11837
128900		112909		185024		109730		174311
126636		113482		22853		17607		18292
131218		113734		182927		184193		173647
125746		112420		23183		18421		11748
125683		111241		14697		11500		174667


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fadvise+sync_file_range Vs O_DIRECT
  2007-04-03 10:51 fadvise+sync_file_range Vs O_DIRECT Ameya Mitragotri
@ 2007-04-03 19:19 ` Phillip Susi
  2007-04-04 10:42   ` Ameya Mitragotri
  0 siblings, 1 reply; 4+ messages in thread
From: Phillip Susi @ 2007-04-03 19:19 UTC (permalink / raw)
  To: Ameya Mitragotri; +Cc: linux-kernel, suparna, pbadari

Ameya Mitragotri wrote:
> Hello,
> I am doing some benchmarking on writes to the hdd from a simple
> application (attached).
> Im benchmarking the writes using the following
> - write with O_DIRECT
> - write with fadvise + O_SYNC
> - write with fadvise + sync_file_range

Did you use overlapped aio with O_DIRECT or just send down one request 
at a time?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fadvise+sync_file_range Vs O_DIRECT
  2007-04-03 19:19 ` Phillip Susi
@ 2007-04-04 10:42   ` Ameya Mitragotri
  2007-04-04 14:24     ` Phillip Susi
  0 siblings, 1 reply; 4+ messages in thread
From: Ameya Mitragotri @ 2007-04-04 10:42 UTC (permalink / raw)
  To: Phillip Susi; +Cc: linux-kernel, suparna, pbadari

On 4/4/07, Phillip Susi <psusi@cfl.rr.com> wrote:
> Ameya Mitragotri wrote:
> > Hello,
> > I am doing some benchmarking on writes to the hdd from a simple
> > application (attached).
> > Im benchmarking the writes using the following
> > - write with O_DIRECT
> > - write with fadvise + O_SYNC
> > - write with fadvise + sync_file_range
>
> Did you use overlapped aio with O_DIRECT or just send down one request
> at a time?

The app sends the requests one at a time

Thanks
Ameya

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: fadvise+sync_file_range Vs O_DIRECT
  2007-04-04 10:42   ` Ameya Mitragotri
@ 2007-04-04 14:24     ` Phillip Susi
  0 siblings, 0 replies; 4+ messages in thread
From: Phillip Susi @ 2007-04-04 14:24 UTC (permalink / raw)
  To: Ameya Mitragotri; +Cc: linux-kernel, suparna, pbadari

Ameya Mitragotri wrote:
>> Did you use overlapped aio with O_DIRECT or just send down one request
>> at a time?
> 
> The app sends the requests one at a time

For best results, you need to send down several requests at once so the 
pipeline does not stall in between requests.



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-04-04 14:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-03 10:51 fadvise+sync_file_range Vs O_DIRECT Ameya Mitragotri
2007-04-03 19:19 ` Phillip Susi
2007-04-04 10:42   ` Ameya Mitragotri
2007-04-04 14:24     ` Phillip Susi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox