lkml.org 
[lkml]   [2008]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
FromBartlomiej Zolnierkiewicz <>
SubjectRe: [PATCH 2/4] ide-tape: remove pipeline-specific code from idetape_add_chrdev_write_request
DateWed, 12 Mar 2008 14:51:32 +0100
On Wednesday 12 March 2008, Borislav Petkov wrote:
> On Tue, Mar 11, 2008 at 12:25:19AM +0100, Bartlomiej Zolnierkiewicz wrote:
> > On Sunday 09 March 2008, Borislav Petkov wrote:
> > > Refrain from adding more write requests to the pipeline and queue them
> > > directly on the device's request queue instead. Prior to that flush all
> > > penging stages in the pipeline through idetape_wait_for_pipeline().
> >
> > I would prefer to keep the original code for now
> > (it has some subtle differences).
>
> Well, if you mean by this the while-loop below, the original code offloads
> the pipeline gradually, stage-wise, until allocation succeeds, in contrast to
> idetape_wait_for_pipeline() which iterates over all pending stages and flushes
> them all in one go.
>
> At a certain in point in time, however, the driver might land at the unlikely
> state of still having some stages left in the pipeline while queueing all
> incoming requests on the rq queue. Therefore, i'd prefer to make sure the

This is what could happen with the unmodified driver code also.

[ thus given that pipeline code goes away completely soon there is no point
in changing the original behavior (unless of course it is buggy and I just
fail to see it) ]

> pipeline is empty before queueing. What is more, it is flushed only once, if
> ever, so idetape_wait_for_pipeline() simply returns in subsequent calls and no
> considerable performance penalties are imposed here.


\
 
 \ /
  Last update: 2008-03-12 14:41    [from the cache]
©2003-2010