[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210225025018epcms2p5cd812ad20a9c6d4f168c4bc8a957c60f@epcms2p5>
Date: Thu, 25 Feb 2021 11:50:18 +0900
From: Daejun Park <daejun7.park@...sung.com>
To: Avri Altman <Avri.Altman@....com>,
Daejun Park <daejun7.park@...sung.com>,
Greg KH <gregkh@...uxfoundation.org>,
"jejb@...ux.ibm.com" <jejb@...ux.ibm.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"asutoshd@...eaurora.org" <asutoshd@...eaurora.org>,
"stanley.chu@...iatek.com" <stanley.chu@...iatek.com>,
"cang@...eaurora.org" <cang@...eaurora.org>,
"bvanassche@....org" <bvanassche@....org>,
"huobean@...il.com" <huobean@...il.com>,
ALIM AKHTAR <alim.akhtar@...sung.com>,
Javier Gonzalez <javier.gonz@...sung.com>
CC: "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
JinHwan Park <jh.i.park@...sung.com>,
SEUNGUK SHIN <seunguk.shin@...sung.com>,
Sung-Jun Park <sungjun07.park@...sung.com>,
yongmyung lee <ymhungry.lee@...sung.com>,
Jinyoung CHOI <j-young.choi@...sung.com>,
BoRam Shin <boram.shin@...sung.com>
Subject: RE: RE: [PATCH v22 4/4] scsi: ufs: Add HPB 2.0 support
> > + copied = ufshpb_fill_ppn_from_page(hpb, srgn->mctx, srgn_offset,
> > + pre_req->wb.len - offset,
> > + &addr[offset]);
> > +
> > + if (copied < 0)
> > + goto mctx_error;
> > +
> > + offset += copied;
> > + srgn_offset += offset;
> This seems wrong.
> How come the region offset is affected from the offset inside the pages?
I will change as : srgn_offset += copied
>
> > +
> > + if (srgn_offset == hpb->entries_per_srgn) {
> > + srgn_offset = 0;
> > +
> > + if (++srgn_idx == hpb->srgns_per_rgn) {
> > + srgn_idx = 0;
> > + rgn_idx++;
> > + }
> > + }
> > +
> > + if (offset < pre_req->wb.len)
> > + goto next_offset;
> If the 512k resides in a single subregion, and span across pages, fill_ppn should take care of that.
> If the 512k spans across subregion regions, than it spans across 2 subregions at most,
> and maybe you can use it.
I think it can be support span across pages.
The following is about the case of HPB entries are span to two page of
the mctx. fill_ppn() fills HPB entries in the first page of the mctx.
srgn_offset will be updated to check next page. In the next round,
fill_ppn() fills the entries in the second page of mctx.
Thanks,
Daejun
Powered by blists - more mailing lists