Re: [PATCH v3 3/3] kvm/powerpc: Export HCALL reason codes

From: Scott Wood
Date: Tue May 12 2015 - 23:21:58 EST


On Tue, 2015-05-12 at 21:46 +0530, Hemant Kumar wrote:
> On 05/12/2015 03:44 AM, Scott Wood wrote:
> > On Fri, 2015-05-08 at 06:23 +0530, Hemant Kumar wrote:
> >> For perf to analyze the KVM events like hcalls, we need the
> >> hypervisor calls and their codes to be exported through uapi.
> >>
> >> This patch moves most of the pSeries hcall codes from
> >> arch/powerpc/include/asm/hvcall.h to
> >> arch/powerpc/include/uapi/asm/hcall_codes.h.
> >> It also moves the mapping <hcall_code-to-hcall_reason> from
> >> arch/powerpc/kvm/trace_hv.h to
> >> arch/powerpc/include/uapi/asm/trace_hcall.h.
> >>
> >> Signed-off-by: Hemant Kumar <hemant@xxxxxxxxxxxxxxxxxx>
> >> ---
> >> arch/powerpc/include/asm/hvcall.h | 120 +--------------------------
> >> arch/powerpc/include/uapi/asm/hcall_codes.h | 123 ++++++++++++++++++++++++++++
> >> arch/powerpc/include/uapi/asm/trace_hcall.h | 122 +++++++++++++++++++++++++++
> >> arch/powerpc/kvm/trace_hv.h | 117 +-------------------------
> > When moving to uapi please add proper namespacing to indicate that this
> > is pseries specific.
> >
>
> Sure, will add that.

Thanks.

> >> diff --git a/arch/powerpc/include/uapi/asm/trace_hcall.h b/arch/powerpc/include/uapi/asm/trace_hcall.h
> >> new file mode 100644
> >> index 0000000..00eac01
> >> --- /dev/null
> >> +++ b/arch/powerpc/include/uapi/asm/trace_hcall.h
> >> @@ -0,0 +1,122 @@
> >> +#ifndef _KVM_TRACE_HCALL_MAP_H
> >> +#define _KVM_TRACE_HCALL_MAP_H
> >> +
> >> +#include "hcall_codes.h"
> >> +
> >> +#define kvm_trace_symbol_hcall\
> >> + {H_REMOVE,"H_REMOVE"}, \
> >> + {H_ENTER,"H_ENTER"}, \
> >> + {H_READ,"H_READ"}, \
> >> + {H_CLEAR_MOD,"H_CLEAR_MOD"}, \
> > This is a rather odd way of exposing an array to userspace...
> >
>
> Didn't get you here. Can you please elaborate?
>
> I see some other files like arch/x86/include/uapi/asm/vmx.h exposing the
> reasons in a similar way.

It just seemed like sloppy API to not have any typing associated with it
and require the user to wrap it in an actual array; I wasn't aware there
was precedent for this construction in uapi. I also would have expected
a macro that doesn't behave like a normal element of C syntax (function,
variable name, type, etc) to have been capitalized.

-Scott



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/