mbox series

[v5,0/3] lightnvm: next set of improvements for 5.2

Message ID 20190426133513.23966-1-igor.j.konopko@intel.com (mailing list archive)
Headers show
Series lightnvm: next set of improvements for 5.2 | expand

Message

Igor Konopko April 26, 2019, 1:35 p.m. UTC
This is another set of fixes and improvements to both pblk and lightnvm
core. 

Changes v4 -> v5:
-dropped patches which were already pulled into for-5.2/core branch
-rebasing of other patches
-multiple copies of smeta patch moved into last position in series
so it would be easier to pull only previous patches if needed

Changes v3 -> v4:
-dropped patches which were already pulled into for-5.2/core branch
-major changes for patch #2 based on code review
-patch #6 modified to use krefs
-new patch #7 which extends the patch #6

Changes v2 -> v3:
-dropped some not needed patches
-dropped patches which were already pulled into for-5.2/core branch
-commit messages cleanup

Changes v1 -> v2:
-dropped some not needed patches
-review feedback incorporated for some of the patches
-partial read path changes patch splited into two patches


Igor Konopko (3):
  lightnvm: pblk: simplify partial read path
  lightnvm: pblk: use nvm_rq_to_ppa_list()
  lightnvm: pblk: store multiple copies of smeta

 drivers/lightnvm/pblk-core.c     | 159 ++++++++++++++----
 drivers/lightnvm/pblk-init.c     |  23 ++-
 drivers/lightnvm/pblk-rb.c       |  11 +-
 drivers/lightnvm/pblk-read.c     | 339 ++++++++++-----------------------------
 drivers/lightnvm/pblk-recovery.c |  27 ++--
 drivers/lightnvm/pblk-rl.c       |   3 +-
 drivers/lightnvm/pblk.h          |  19 +--
 7 files changed, 252 insertions(+), 329 deletions(-)

Comments

Matias Bjorling April 26, 2019, 7:53 p.m. UTC | #1
Thanks Igor. I've picked up 1 + 2.

The third I'm still noodling on. I think maybe one should bump the disk 
format, since it's changed. Also, if it is, it should be a static setup 
(i.e., 1,2,3), and not user configurable. Although, I do expect the 
separate parallel units to have enough device-side redundancy to provide 
adequate UBER.



On 4/26/19 3:35 PM, Igor Konopko wrote:
> This is another set of fixes and improvements to both pblk and lightnvm
> core.
> 
> Changes v4 -> v5:
> -dropped patches which were already pulled into for-5.2/core branch
> -rebasing of other patches
> -multiple copies of smeta patch moved into last position in series
> so it would be easier to pull only previous patches if needed
> 
> Changes v3 -> v4:
> -dropped patches which were already pulled into for-5.2/core branch
> -major changes for patch #2 based on code review
> -patch #6 modified to use krefs
> -new patch #7 which extends the patch #6
> 
> Changes v2 -> v3:
> -dropped some not needed patches
> -dropped patches which were already pulled into for-5.2/core branch
> -commit messages cleanup
> 
> Changes v1 -> v2:
> -dropped some not needed patches
> -review feedback incorporated for some of the patches
> -partial read path changes patch splited into two patches
> 
> 
> Igor Konopko (3):
>    lightnvm: pblk: simplify partial read path
>    lightnvm: pblk: use nvm_rq_to_ppa_list()
>    lightnvm: pblk: store multiple copies of smeta
> 
>   drivers/lightnvm/pblk-core.c     | 159 ++++++++++++++----
>   drivers/lightnvm/pblk-init.c     |  23 ++-
>   drivers/lightnvm/pblk-rb.c       |  11 +-
>   drivers/lightnvm/pblk-read.c     | 339 ++++++++++-----------------------------
>   drivers/lightnvm/pblk-recovery.c |  27 ++--
>   drivers/lightnvm/pblk-rl.c       |   3 +-
>   drivers/lightnvm/pblk.h          |  19 +--
>   7 files changed, 252 insertions(+), 329 deletions(-)
>
Hans Holmberg April 29, 2019, 11:13 a.m. UTC | #2
On Fri, Apr 26, 2019 at 3:54 PM Matias Bjørling <mb@lightnvm.io> wrote:
>
> Thanks Igor. I've picked up 1 + 2.
>
> The third I'm still noodling on. I think maybe one should bump the disk
> format, since it's changed. Also, if it is, it should be a static setup
> (i.e., 1,2,3), and not user configurable. Although, I do expect the
> separate parallel units to have enough device-side redundancy to provide
> adequate UBER.

The change is backwards- and forwards-compatible (a disk written with
both an older and a newer
kernel would be readable, since smeta sectors are marked as ADD_EMPTY)
 as far as I can tell,
buy did you test this Igor?

I think we might as well bump SMETA_VERSION_MINOR anyway, so we can keep
track of this format change for the future(i.e if we build an offline
recovery tool)

Thanks,
Hans
>
>
>
> On 4/26/19 3:35 PM, Igor Konopko wrote:
> > This is another set of fixes and improvements to both pblk and lightnvm
> > core.
> >
> > Changes v4 -> v5:
> > -dropped patches which were already pulled into for-5.2/core branch
> > -rebasing of other patches
> > -multiple copies of smeta patch moved into last position in series
> > so it would be easier to pull only previous patches if needed
> >
> > Changes v3 -> v4:
> > -dropped patches which were already pulled into for-5.2/core branch
> > -major changes for patch #2 based on code review
> > -patch #6 modified to use krefs
> > -new patch #7 which extends the patch #6
> >
> > Changes v2 -> v3:
> > -dropped some not needed patches
> > -dropped patches which were already pulled into for-5.2/core branch
> > -commit messages cleanup
> >
> > Changes v1 -> v2:
> > -dropped some not needed patches
> > -review feedback incorporated for some of the patches
> > -partial read path changes patch splited into two patches
> >
> >
> > Igor Konopko (3):
> >    lightnvm: pblk: simplify partial read path
> >    lightnvm: pblk: use nvm_rq_to_ppa_list()
> >    lightnvm: pblk: store multiple copies of smeta
> >
> >   drivers/lightnvm/pblk-core.c     | 159 ++++++++++++++----
> >   drivers/lightnvm/pblk-init.c     |  23 ++-
> >   drivers/lightnvm/pblk-rb.c       |  11 +-
> >   drivers/lightnvm/pblk-read.c     | 339 ++++++++++-----------------------------
> >   drivers/lightnvm/pblk-recovery.c |  27 ++--
> >   drivers/lightnvm/pblk-rl.c       |   3 +-
> >   drivers/lightnvm/pblk.h          |  19 +--
> >   7 files changed, 252 insertions(+), 329 deletions(-)
> >
>
Igor Konopko May 2, 2019, 10:03 a.m. UTC | #3
On 29.04.2019 13:13, Hans Holmberg wrote:
> On Fri, Apr 26, 2019 at 3:54 PM Matias Bjørling <mb@lightnvm.io> wrote:
>>
>> Thanks Igor. I've picked up 1 + 2.
>>
>> The third I'm still noodling on. I think maybe one should bump the disk
>> format, since it's changed. Also, if it is, it should be a static setup
>> (i.e., 1,2,3), and not user configurable. Although, I do expect the
>> separate parallel units to have enough device-side redundancy to provide
>> adequate UBER.
> 
> The change is backwards- and forwards-compatible (a disk written with
> both an older and a newer
> kernel would be readable, since smeta sectors are marked as ADD_EMPTY)
>   as far as I can tell,
> buy did you test this Igor?

It suppose to work, but I didn't test such a scenario. Generally this 
patch is not so crucial for now, so I can tune it up for 5.3 maybe.
> 
> I think we might as well bump SMETA_VERSION_MINOR anyway, so we can keep
> track of this format change for the future(i.e if we build an offline
> recovery tool)
> 
> Thanks,
> Hans
>>
>>
>>
>> On 4/26/19 3:35 PM, Igor Konopko wrote:
>>> This is another set of fixes and improvements to both pblk and lightnvm
>>> core.
>>>
>>> Changes v4 -> v5:
>>> -dropped patches which were already pulled into for-5.2/core branch
>>> -rebasing of other patches
>>> -multiple copies of smeta patch moved into last position in series
>>> so it would be easier to pull only previous patches if needed
>>>
>>> Changes v3 -> v4:
>>> -dropped patches which were already pulled into for-5.2/core branch
>>> -major changes for patch #2 based on code review
>>> -patch #6 modified to use krefs
>>> -new patch #7 which extends the patch #6
>>>
>>> Changes v2 -> v3:
>>> -dropped some not needed patches
>>> -dropped patches which were already pulled into for-5.2/core branch
>>> -commit messages cleanup
>>>
>>> Changes v1 -> v2:
>>> -dropped some not needed patches
>>> -review feedback incorporated for some of the patches
>>> -partial read path changes patch splited into two patches
>>>
>>>
>>> Igor Konopko (3):
>>>     lightnvm: pblk: simplify partial read path
>>>     lightnvm: pblk: use nvm_rq_to_ppa_list()
>>>     lightnvm: pblk: store multiple copies of smeta
>>>
>>>    drivers/lightnvm/pblk-core.c     | 159 ++++++++++++++----
>>>    drivers/lightnvm/pblk-init.c     |  23 ++-
>>>    drivers/lightnvm/pblk-rb.c       |  11 +-
>>>    drivers/lightnvm/pblk-read.c     | 339 ++++++++++-----------------------------
>>>    drivers/lightnvm/pblk-recovery.c |  27 ++--
>>>    drivers/lightnvm/pblk-rl.c       |   3 +-
>>>    drivers/lightnvm/pblk.h          |  19 +--
>>>    7 files changed, 252 insertions(+), 329 deletions(-)
>>>
>>