Re: [PATCH] nvme: Fix nvme_setup_command metadata trace event for cdw10

From: John Garry
Date: Wed Jul 06 2022 - 12:59:13 EST


On 06/07/2022 17:44, Keith Busch wrote:
On Wed, Jul 06, 2022 at 06:34:34PM +0200, Christoph Hellwig wrote:
On Wed, Jul 06, 2022 at 10:26:09AM -0600, Keith Busch wrote:
On Wed, Jul 06, 2022 at 06:18:25PM +0200, Christoph Hellwig wrote:
On Wed, Jul 06, 2022 at 10:13:22AM -0600, Keith Busch wrote:
Did you test what the trace looks like afte this? We're losing valuable trace
data here. The field is supposed to get CDW's 10 - 15, so that's 24 bytes.

ok, I just thought it was a typo, but did not know why you were using an array macro.

I
don't know why it cares that the address of the field being read is only 4
bytes; we want everything that comes after it too.

Because accesses should not spawn boundaries of members in structs unless
copying the entire struct. If we want to trace the various fields we
need to individually assign them.

Anyway, I'm dropping this patch from nvme-5.19 for now to let the
discussion conclude.

How about this instead?

Maybe a better option would be to use struct_group().

Good call, I'd never used that macro before. The result produces anonymous
unions like I just proposed, so yes, I like that option.
.

The warning hints at using struct_group() also ...

Anyway, Keith, do you want to write a new patch or shall I?

Thanks,
John