[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 6/6] hw/block/nvme: Make device target agnostic
From: |
Paolo Bonzini |
Subject: |
Re: [RFC PATCH 6/6] hw/block/nvme: Make device target agnostic |
Date: |
Thu, 7 May 2020 18:24:34 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
On 07/05/20 12:04, Stefan Hajnoczi wrote:
>>> (NVME_PMRCAP_PMRWBM(n->bar.pmrcap) & 0x02)) {
>>> - qemu_ram_writeback(n->pmrdev->mr.ram_block,
>>> - 0, n->pmrdev->size);
>>> + memory_region_do_writeback(&n->pmrdev->mr, 0, n->pmrdev->size);
> qemu_ram_write() is being called because we need to msync or persist
> pmem here.
>
> The memory_region_do_writeback() API is not equivalent, its purpose is
> for dirty write logging (which we don't care about here because the
> writes themselves will already have been logged when the guest performed
> them).
>
> I think qemu_ram_writeback() should just be made common so that this
> code isn't target-specific. Maybe it should be renamed to
> qemu_ram_msync() to avoid confusion with dirty write APIs.
Yes, we can add qemu_ram_msync and memory_region_msync.
Paolo
signature.asc
Description: OpenPGP digital signature