Re: [PATCH scsi-misc-2.6 01/08] scsi: remove unused bounce-buffer release path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




 Hello, James.

James Bottomley wrote:
On Wed, 2005-03-23 at 11:14 +0900, Tejun Heo wrote:

01_scsi_remove_scsi_release_buffers.patch

	Buffer bouncing hasn't been done inside the scsi midlayer for
	quite sometime now, but bounce-buffer release paths are still
	around.  This patch removes these unused paths.


Yes, but scsi_release_buffers isn't referring to bounce buffers anymore,
it's simply releasing the sg buffers.


That's what I did. Replacing scsi_release_buffers() calls with calls to scsi_free_sgtable(). The only logic removed is bounce-buffer release/copy-back.

[...]

-	else if (cmd->buffer != req->buffer) {
-		if (rq_data_dir(req) == READ) {
-			unsigned long flags;
-			char *to = bio_kmap_irq(req->bio, &flags);
-			memcpy(to, cmd->buffer, cmd->bufflen);
-			bio_kunmap_irq(to, &flags);
-		}
-		kfree(cmd->buffer);
-	}


I'll defer to Jens here, but I don't thing you can just remove this ...
sg_io with a misaligned buffer will fail without this.

AFAIK, those are done by blk_rq_map_user() and blk_rq_unmap_user(), both of which are invoked directly by sg_io().

That rather nasty code freeing cmd->buffer needs to be in there as
well ... so it does make sense to keep this API

That code is invoked only for REQ_BLOCK_PC requests without bio, and I digged pretty hard but, in those cases, AFAICT, the callers are responsible for supplying dma-able buffers and nothing seems to alter cmd->buffer after the cmd gets initialized, but I might be missing things here. If so, please point out.

 Thanks.

--
tejun

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux