linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Bypass block layer and Fill SCSI lower layer driver queue
@ 2013-09-18  6:41 Alireza Haghdoost
  2013-09-18  7:58 ` Jack Wang
  2013-09-18 21:00 ` Nicholas A. Bellinger
  0 siblings, 2 replies; 8+ messages in thread
From: Alireza Haghdoost @ 2013-09-18  6:41 UTC (permalink / raw)
  To: linux-fsdevel, linux-scsi; +Cc: Jerry Fredin

Hi

I am working on a high throughput and low latency application which
does not tolerate block layer overhead to send IO request directly to
fiber channel lower layer SCSI driver. I used to work with libaio but
currently I am looking for a way to by pass the block layer and send
SCSI commands from the application layer directly to the SCSI driver
using /dev/sgX device and ioctl() system call.

I have noticed that sending IO request through sg device even with
nonblocking and direct IO flags is quite slow and does not fill up
lower layer SCSI driver TCQ queue. i.e IO depth or
/sys/block/sdX/in_flight is always ZERO. Therefore the application
throughput is even lower that sending IO request through block layer
with libaio and io_submit() system call. In both cases I used only one
IO context (or fd) and single threaded.

I have noticed that some well known benchmarking tools like fio does
not support IO depth for sg devices as well. Therefore, I was
wondering if it is feasible to bypass block layer and achieve higher
throughput and lower latency (for sending IO request only).


Any comment on my issue is highly appreciated.


Thanks
Alireza

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

end of thread, other threads:[~2013-09-27  6:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-18  6:41 Bypass block layer and Fill SCSI lower layer driver queue Alireza Haghdoost
2013-09-18  7:58 ` Jack Wang
2013-09-18 14:07   ` Douglas Gilbert
2013-09-18 14:31     ` Boaz Harrosh
2013-09-27  6:06     ` Vladislav Bolkhovitin
2013-09-18 21:00 ` Nicholas A. Bellinger
2013-09-19  2:05   ` Alireza Haghdoost
2013-09-19 21:49     ` Nicholas A. Bellinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).