lkml.org 
[lkml]   [2003]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC/PATCH] IDE Power Management try 1

On 25 Apr 2003, Benjamin Herrenschmidt wrote:

> On Fri, 2003-04-25 at 13:52, Benjamin Herrenschmidt wrote:
> > > If you add REQ_DRIVE_INTERNAL, and kill the other ones I mentioned, fine
> > > with me then.
> > >
> > > rq->flags & REQ_DRIVE_INTERNAL
> > > rq->cmd[0] == PM
> > > pm stuf
> > > rq->cmd[0] = taskfile
> > > taskfile
> > >
> > > etc. Make sense?
> >
> > As I just wrote, I'd rather go the whole way then and break up flags
> > (which is a very bad name btw) into req_type & req_subtype, though
> > that would mean a bit of driver fixing....
>
> Also, I noticed that my patch has a nice bug in the resume path, I
> use ide_preempt, which doesn't wait for the request to complete,
> but the request & struct state are allocated on the stack... ouch...
>
> It would be interesting to not wait for completion of the resume
> still here, there's no reason why resume of the disk can't be done
> asynchronously since we only release the request queue once completed,
> so I probably need to allocate the suspend request and release it from
> interrupt.
>
> Also, having a separate structure pointed to by ->special only makes
> this more complicated, there are plenty of fields in struct request
> that I could indeed use for my state information (like the cmd[] stuff)
>
> Ben.

Why can't we simply change ide_do_drive_command() to take extra
flag specifing wait/do not wait and use it for ide_preempt?

--
Bartlomiej

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:35    [W:0.035 / U:1.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site