Messages in this thread | | | Date | Fri, 25 Apr 2003 14:13:41 +0200 (MET DST) | From | Bartlomiej Zolnierkiewicz <> | Subject | Re: [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/
| |