Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-17 Thread Andrzej Jakowski
On 3/17/20 4:23 AM, Stefan Hajnoczi wrote: >> Code is posted here >> https://github.com/AndrzejJakowski/qemu/commit/3a7762a1d13ff1543d1da430748eb24e38faab6f >> >> QEMU command line: >> >> # below are just relevant pieces of configuration, other stuff omitted >> # tried different setting (e.g.

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-17 Thread Stefan Hajnoczi
On Mon, Mar 16, 2020 at 5:10 PM Andrzej Jakowski wrote: > On 3/16/20 4:32 AM, Stefan Hajnoczi wrote: > > On Wed, Mar 11, 2020 at 11:08:27PM -0700, Klaus Birkelund Jensen wrote: > >> On Mar 11 15:54, Andrzej Jakowski wrote: > >>> On 3/11/20 2:20 AM, Stefan Hajnoczi wrote: > Please try: >

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-16 Thread Andrzej Jakowski
On 3/16/20 4:32 AM, Stefan Hajnoczi wrote: > On Wed, Mar 11, 2020 at 11:08:27PM -0700, Klaus Birkelund Jensen wrote: >> On Mar 11 15:54, Andrzej Jakowski wrote: >>> On 3/11/20 2:20 AM, Stefan Hajnoczi wrote: Please try: $ git grep pmem backends/hostmem-file.c is the

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-16 Thread Stefan Hajnoczi
On Wed, Mar 11, 2020 at 11:08:27PM -0700, Klaus Birkelund Jensen wrote: > On Mar 11 15:54, Andrzej Jakowski wrote: > > On 3/11/20 2:20 AM, Stefan Hajnoczi wrote: > > > Please try: > > > > > > $ git grep pmem > > > > > > backends/hostmem-file.c is the backend that can be used and the > > >

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-12 Thread Klaus Birkelund Jensen
On Mar 11 15:54, Andrzej Jakowski wrote: > On 3/11/20 2:20 AM, Stefan Hajnoczi wrote: > > Please try: > > > > $ git grep pmem > > > > backends/hostmem-file.c is the backend that can be used and the > > pmem_persist() API can be used to flush writes. > > I've reworked this patch into

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-11 Thread Andrzej Jakowski
On 3/11/20 2:20 AM, Stefan Hajnoczi wrote: > Please try: > > $ git grep pmem > > backends/hostmem-file.c is the backend that can be used and the > pmem_persist() API can be used to flush writes. I've reworked this patch into hostmem-file type of backend. >From simple tests in virtual machine:

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-11 Thread Andrzej Jakowski
On 3/11/20 2:20 AM, Stefan Hajnoczi wrote: > Oh, I think I see what you mean. That is not how the term > "preallocated" is usually used in POSIX file systems. File systems > have sparse files by default and the term preallocation is used in the > context of fadvise(2) for reserving space. > >

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-11 Thread Stefan Hajnoczi
On Tue, Mar 10, 2020 at 8:09 PM Andrzej Jakowski wrote: > On 3/10/20 2:51 AM, Stefan Hajnoczi wrote: > > On Fri, Mar 06, 2020 at 03:38:53PM -0700, Andrzej Jakowski wrote: > >> diff --git a/hw/block/nvme.c b/hw/block/nvme.c > >> index d28335cbf3..ff7e74d765 100644 > >> --- a/hw/block/nvme.c > >>

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-10 Thread Andrzej Jakowski
On 3/10/20 2:51 AM, Stefan Hajnoczi wrote: > On Fri, Mar 06, 2020 at 03:38:53PM -0700, Andrzej Jakowski wrote: >> diff --git a/hw/block/nvme.c b/hw/block/nvme.c >> index d28335cbf3..ff7e74d765 100644 >> --- a/hw/block/nvme.c >> +++ b/hw/block/nvme.c >> @@ -19,10 +19,14 @@ >> * -drive

Re: [PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-10 Thread Stefan Hajnoczi
On Fri, Mar 06, 2020 at 03:38:53PM -0700, Andrzej Jakowski wrote: > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index d28335cbf3..ff7e74d765 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -19,10 +19,14 @@ > * -drive file=,if=none,id= > * -device

[PATCH RESEND v2] block/nvme: introduce PMR support from NVMe 1.4 spec

2020-03-06 Thread Andrzej Jakowski
This patch introduces support for PMR that has been defined as part of NVMe 1.4 spec. User can now specify a pmr_file which will be mmap'ed into qemu address space and subsequently in PCI BAR 2. Guest OS can perform mmio read and writes to the PMR region that will stay persistent accross system