On Fri, Apr 25 2008, FUJITA Tomonori wrote: > On Thu, 24 Apr 2008 12:49:30 +0200 > Jens Axboe <jens.axboe@xxxxxxxxxx> wrote: > > > On Thu, Apr 24 2008, FUJITA Tomonori wrote: > > > On Thu, 24 Apr 2008 13:31:21 +0900 > > > FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > > > > > > > On Wed, 23 Apr 2008 17:50:42 +0300 > > > > Boaz Harrosh <bharrosh@xxxxxxxxxxx> wrote: > > > > > > > > > > > > > > The support for large commands was dropped from the for-2.6.26 branch > > > > > and will probably not get accepted into next kernel. > > > > > > > > > > I have tried to take all comments from Jens and Bart. and incorporate > > > > > it into a new patchset. This is basically Tomo's patchset but with > > > > > proposed changes. > > > > > > > > Have you seen the patchset to remove request on the stack? > > > > > > > > http://marc.info/?l=linux-ide&m=120882410712466&w=2 > > > > > > > > > > > > > They are based on current linux-block/master. They will probably conflict with > > > > > latest patch sent by Tomo for the blk_get_request(). Once those patches > > > > > get accepted at some git tree, (Where will that be?), I will rebase these > > > > > on top of them. Please CC me of any progress. > > > > > > > > > > [PATCH 1/5] block: no need to initialize rq->cmd > > > > > This is 2 of Tomo's patches squashed together as they are > > > > > small and do the same. Tomo is this OK? > > > > > > > > > > [PATCH 2/5] block: replace sizeof(rq->cmd) with BLK_MAX_CDB > > > > > Tomos patch rebased to here > > > > > > > > > > [PATCH 3/5] block: Export rq_init, rename to blk_init_rq > > > > > [PATCH 4/5] block: Use new blk_init_rq > > > > > These patches are basically what Jens and Bart has suggested, that with > > > > > a small code change to blk-core.c we can memset at rq_init() and only set > > > > > none zero members. We can also export that initializer and use it all over > > > > > the ide tree where ever requests don't come from a request queue. (OK also > > > > > at scsi_error.c) > > > > > > > > +void blk_init_rq(struct request_queue *q, struct request *rq, int cmd_flags) > > > > > > > > Hmm, would it be better to modify the block layer to let rq_init just > > > > memset() the request structure? > > > > > > I think, if we move rq_init to blk_alloc_request from get_request, > > > rq_init can just memset() the structure. > > > > > > Then we can export rq_init and rq_init works for everyone. > > > > Wont work, see the io scheduler set_request() functions. > > Sorry, can you be more specific? > > Only cfq uses set_request for now. cfq_set_request uses rq->cmd_flags > and stores information at rq->elevator_private and > rq->elevator_private2. > > The patch does memset() the request structure and sets up > rq->cmd_flags, and then elv_set_request. Doesn't it work? Sorry, with the moved rq_init() it should work, didn't look closely enough. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html