* Servicing of requests
@ 2003-03-23 12:18 Subodh S
2003-03-23 12:28 ` Jens Axboe
0 siblings, 1 reply; 2+ messages in thread
From: Subodh S @ 2003-03-23 12:18 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-scsi
Hi,
Whenever I read data of 'x'k size using one read() system call, I find batches of some 'y' no. of make_requests calls followed by the same no. of end_io's. Something like :
make_req
make_req
make_req
end_io
end_io
end_io
make_req
make_req
make_req
end_io
end_io
end_io
The output above gives me an idea that 3(hypothetical no.) buffer_heads above form a request.
(since 1 make_request corresponds to 1 buffer_head) and maybe since 1 request is serviced at a time I can see 3 make_req's together. Is my understanding right ??
But, I have read that sd uses some optimization algorithm to club requests so that the disk seek time is reduced. In which case since all requests are to adjecents sectors it should create a single request of all 'x'k assuming 1 buffer_head is of size 1k.
Does this make sense ??
-subodh
--
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Servicing of requests
2003-03-23 12:18 Servicing of requests Subodh S
@ 2003-03-23 12:28 ` Jens Axboe
0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2003-03-23 12:28 UTC (permalink / raw)
To: Subodh S; +Cc: linux-kernel, linux-scsi
On Sun, Mar 23 2003, Subodh S wrote:
> Hi,
>
> Whenever I read data of 'x'k size using one read() system call, I find
> batches of some 'y' no. of make_requests calls followed by the same
> no. of end_io's. Something like :
> make_req
> make_req
> make_req
> end_io
> end_io
> end_io
> make_req
> make_req
> make_req
> end_io
> end_io
> end_io
>
> The output above gives me an idea that 3(hypothetical no.)
> buffer_heads above form a request. (since 1 make_request corresponds
> to 1 buffer_head) and maybe since 1 request is serviced at a time I
> can see 3 make_req's together. Is my understanding right ??
>
> But, I have read that sd uses some optimization algorithm to club
> requests so that the disk seek time is reduced. In which case since
> all requests are to adjecents sectors it should create a single
> request of all 'x'k assuming 1 buffer_head is of size 1k.
>
> Does this make sense ??
First of all, please line wrap your emails at 72 chars. Your mail reads
horribly.
Second, what is your question? Yes typically buffer_heads can get
clustered into a request so that contig regions on disk are handed to
the driver as a single request that may contain X buffer_heads. sd
doesn't do this on its own, the block layer does it for the driver. And
it happens for all drivers.
--
Jens Axboe
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-03-23 12:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-23 12:18 Servicing of requests Subodh S
2003-03-23 12:28 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox