Re: [RFC PATCH v2 4/5] scsi: ufs: L2P map management for HPB read

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

 



Hi Daejun


On Mon, 2020-06-15 at 18:30 +0900, Daejun Park wrote:
> +static int ufshpb_execute_map_req(struct ufshpb_lu *hpb,
> +                                 struct ufshpb_req *map_req)
> +{
> +       struct request_queue *q;
> +       struct request *req;
> +       struct scsi_request *rq;
> +       int ret = 0;
> +
> +       q = hpb->sdev_ufs_lu->request_queue;
> +       ret = ufshpb_map_req_add_bio_page(hpb, q, map_req->bio,
> +                                         map_req->mctx);
> +       if (ret) {
> +               dev_notice(&hpb->hpb_lu_dev,
> +                          "map_req_add_bio_page fail %d - %d\n",
> +                          map_req->rgn_idx, map_req->srgn_idx);
> +               return ret;
> +       }
> +
> +       req = map_req->req;
> +
> +       blk_rq_append_bio(req, &map_req->bio);
> +
> +       req->timeout = 0;
> +       req->end_io_data = (void *)map_req;
> +
> +       rq = scsi_req(req);
> +       ufshpb_set_read_buf_cmd(rq->cmd, map_req->rgn_idx,
> +                               map_req->srgn_idx, hpb-
> >srgn_mem_size);
> +       rq->cmd_len = HPB_READ_BUFFER_CMD_LENGTH;
> +
> +       blk_execute_rq_nowait(q, NULL, req, 1,
> ufshpb_map_req_compl_fn);


HPB map_req is now being en-queued in sdev->request_queue.
This is ok for the HPB v1.0. Have you ever been thinking about
changing this way to directly issue HPB requests to UFS?

Actually, there are two reasons for this way:

1. Latency of loading mapping entries is lower comparing to your curret
approach.
2. Also, it is preparing for the HPB v2.0.  After all HPB 1.0 only
supports 4KB read, this is useless, I am looking for the HPB v2.0.


Thanks,
Bean






[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux