From: Joel Granados <j.granados@samsung.com>
To: <k.jensen@samsung.com>, <qemu-devel@nongnu.org>, <qemu-block@nongnu.org>
Subject: Re: [PATCH v4 0/2] Add OCP extended log to nvme QEMU
Date: Thu, 8 Dec 2022 17:09:31 +0100 [thread overview]
Message-ID: <20221208160931.dljdvslolrrognsa@localhost> (raw)
In-Reply-To: <20221125094808.1856024-1-j.granados@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 3324 bytes --]
ping.
Is the solution to the guid constant ok?
Best
On Fri, Nov 25, 2022 at 10:48:06AM +0100, Joel Granados wrote:
> The motivation and description are contained in the last patch in this set.
> Will copy paste it here for convenience:
>
> In order to evaluate write amplification factor (WAF) within the storage
> stack it is important to know the number of bytes written to the
> controller. The existing SMART log value of Data Units Written is too
> coarse (given in units of 500 Kb) and so we add the SMART health
> information extended from the OCP specification (given in units of bytes).
>
> To accommodate different vendor specific specifications like OCP, we add a
> multiplexing function (nvme_vendor_specific_log) which will route to the
> different log functions based on arguments and log ids. We only return the
> OCP extended smart log when the command is 0xC0 and ocp has been turned on
> in the args.
>
> Though we add the whole nvme smart log extended structure, we only populate
> the physical_media_units_{read,written}, log_page_version and
> log_page_uuid.
>
> V4 changes:
> 1. Fixed cpu_to_le64 instead of cpu_to_le32
> 2. Variable naming : uuid -> guid
> 3. Changed how the guid value appears in the code:
> Used to be:
> smart_l.log_page_uuid[0] = 0xA4F2BFEA2810AFC5;
> smart_l.log_page_uuid[1] = 0xAFD514C97C6F4F9C;
>
> Now is:
> static const uint8_t guid[16] = {
> 0xC5, 0xAF, 0x10, 0x28, 0xEA, 0xBF, 0xF2, 0xA4,
> 0x9C, 0x4F, 0x6F, 0x7C, 0xC9, 0x14, 0xD5, 0xAF
> };
>
> This is different from what @klaus suggested because I want to keep it
> consistent to what nvme-cli currently implements. I think here we can
> either change both nvme-cli and this patch or leave the order of the
> bytes as they are here. This all depends on how you interpret the Spec
> (which is ambiguous)
>
> V3 changes:
> 1. Corrected a bunch of checkpatch issues. Since I changed the first patch
> I did not include the reviewed-by.
> 2. Included some documentation in nvme.rst for the ocp argument
> 3. Squashed the ocp arg changes into the main patch.
> 4. Fixed several comments and an open parenthesis
> 5. Hex values are now in lower case.
> 6. Change the reserved format to rsvd<BYTEOFFSET>
> 7. Made sure that NvmeCtrl is the first arg in all the functions.
> 8. Fixed comment on commit of main patch
>
> V2 changes:
> 1. I moved the ocp parameter from the namespace to the subsystem as it is
> defined there in the OCP specification
> 2. I now accumulate statistics from all namespaces and report them back on
> the extended log as per the spec.
> 3. I removed the default case in the switch in nvme_vendor_specific_log as
> it does not have any special function.
>
> Joel Granados (2):
> nvme: Move adjustment of data_units{read,written}
> nvme: Add physical writes/reads from OCP log
>
> docs/system/devices/nvme.rst | 7 ++++
> hw/nvme/ctrl.c | 73 +++++++++++++++++++++++++++++++++---
> hw/nvme/nvme.h | 1 +
> include/block/nvme.h | 36 ++++++++++++++++++
> 4 files changed, 111 insertions(+), 6 deletions(-)
>
> --
> 2.30.2
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
next prev parent reply other threads:[~2022-12-08 16:10 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20221125095151eucas1p19784fd6ca83c7c3721fdc06e02abc260@eucas1p1.samsung.com>
2022-11-25 9:48 ` [PATCH v4 0/2] Add OCP extended log to nvme QEMU Joel Granados
[not found] ` <CGME20221125095152eucas1p2e67e201303d24bd2539b056302c08847@eucas1p2.samsung.com>
2022-11-25 9:48 ` [PATCH v4 1/2] nvme: Move adjustment of data_units{read,written} Joel Granados
[not found] ` <CGME20221125095154eucas1p235a3d40d20f0eb3628ea9ab46bd8cf6e@eucas1p2.samsung.com>
2022-11-25 9:48 ` [PATCH v4 2/2] nvme: Add physical writes/reads from OCP log Joel Granados
[not found] ` <CGME20221208160934eucas1p1b485752fe9aee81d2a875d8a8ab7cb3b@eucas1p1.samsung.com>
2022-12-08 16:09 ` Joel Granados [this message]
2022-12-13 8:11 ` [PATCH v4 0/2] Add OCP extended log to nvme QEMU Klaus Jensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221208160931.dljdvslolrrognsa@localhost \
--to=j.granados@samsung.com \
--cc=k.jensen@samsung.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).