Messages in this thread | | | Subject | Re: [RFC/PATCH] IDE Power Management try 1 | From | Benjamin Herrenschmidt <> | Date | 25 Apr 2003 13:57:33 +0200 |
| |
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.
- 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/
| |