* libsas - sas_queue's policy of re-queuing all the tasks ...
@ 2009-12-23 21:58 Chetan Loke
[not found] ` <7fc616880912240426q249c72b1n45d488fe0e6a9770@mail.gmail.com>
0 siblings, 1 reply; 2+ messages in thread
From: Chetan Loke @ 2009-12-23 21:58 UTC (permalink / raw)
To: Linux Kernel Mailing List
Hello,
I've a question regarding the libsas core.
So, sas_queue() will dispatch the coalesced tasks. It then invokes the
SAS_LLDD's execute_task. Let's assume mv_sas driver.In this case
mvs_task_exec(). Say, it received 'N' tasks the first time it was
called.However, the LLDD was only able to service M tasks(where M<N).
Now it will return rc(non-zero value). sas_queue will then requeue all
the tasks. But only (N-M) tasks should have been queued, correct? So
why are we re-trying all the tasks again?
PS - If folks are on SCST mailing list too then do not confuse this
post with my SCST post. There, the target maintainer can see if the
target driver has to worry about this.
Chetan Loke
^ permalink raw reply [flat|nested] 2+ messages in thread[parent not found: <7fc616880912240426q249c72b1n45d488fe0e6a9770@mail.gmail.com>]
* Re: libsas - sas_queue's policy of re-queuing all the tasks ... [not found] ` <7fc616880912240426q249c72b1n45d488fe0e6a9770@mail.gmail.com> @ 2009-12-24 15:08 ` Chetan Loke 0 siblings, 0 replies; 2+ messages in thread From: Chetan Loke @ 2009-12-24 15:08 UTC (permalink / raw) To: 王金浦; +Cc: linux-kernel On Thu, Dec 24, 2009 at 7:26 AM, 王金浦 <jinpuwang@gmail.com> wrote: > > > 2009/12/24 Chetan Loke <chetanloke@gmail.com> >> >> Hello, >> >> I've a question regarding the libsas core. >> >> So, sas_queue() will dispatch the coalesced tasks. It then invokes the >> SAS_LLDD's execute_task. Let's assume mv_sas driver.In this case >> mvs_task_exec(). Say, it received 'N' tasks the first time it was >> called.However, the LLDD was only able to service M tasks(where M<N). >> Now it will return rc(non-zero value). sas_queue will then requeue all >> the tasks. But only (N-M) tasks should have been queued, correct? So >> why are we re-trying all the tasks again? >> > > if you see the code , at mv_init , in function mvs_post_sas_ha_init set > sha->lldd_max_execute_num = 1; > and libsas invoke sas_queue_up when sha->lldd_max_execute_num> 1 . > Ignore the max_execute_num for this discussion. What I'm saying is, if you do 'coalesce' the tasks. mv_sas core clearly has 256+ slots in their adapter. That means you could coalesce them. Well, that's not the point. What I would like to know is why does the libsas core wants to requeue all the tasks? What was the rationale behind this logic? > Jack Wang > Chetan Loke ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-12-24 15:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-23 21:58 libsas - sas_queue's policy of re-queuing all the tasks Chetan Loke
[not found] ` <7fc616880912240426q249c72b1n45d488fe0e6a9770@mail.gmail.com>
2009-12-24 15:08 ` Chetan Loke
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®