|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v10 00/13] enable Cache Allocation Technology (CAT) for VMs
On Tue, Jul 07, 2015 at 03:46:21PM +0100, Ian Campbell wrote:
> On Fri, 2015-06-26 at 16:43 +0800, Chao Peng wrote:
> > Chao Peng (13):
> > x86: add socket_cpumask
> > x86: detect and initialize Intel CAT feature
> > x86: maintain COS to CBM mapping for each socket
> > x86: add COS information for each domain
> > x86: expose CBM length and COS number information
> > x86: dynamically get/set CBM for a domain
> > x86: add scheduling support for Intel CAT
> > xsm: add CAT related xsm policies
>
> Jan applied to here.
>
> So I was going to apply these 5:
>
> > tools/libxl: minor name changes for CMT commands
> > tools/libxl: add command to show PSR hardware info
> > tools/libxl: introduce some socket helpers
> > tools: add tools support for Intel CAT
> > docs: add xl-psr.markdown
>
> But, on i686 I see:
>
> xl_cmdimpl.c: In function ‘psr_cat_hwinfo’:
> xl_cmdimpl.c:8390:16: error: format ‘%llx’ expects argument of type ‘long
> long unsigned int’, but argument 3 has type ‘long unsigned int’
> [-Werror=format=]
> (1ul << info->cbm_len) - 1);
> ^
> xl_cmdimpl.c: In function ‘psr_cat_print_socket’:
> xl_cmdimpl.c:8450:5: error: format ‘%llx’ expects argument of type ‘long long
> unsigned int’, but argument 3 has type ‘long unsigned int’ [-Werror=format=]
> printf("%-16s: %#"PRIx64"\n", "Default CBM", (1ul << info->cbm_len) - 1);
> ^
> cc1: all warnings being treated as errors
>
> It seems there is some mismatch between your types and the printf
> formats used.
>
> The appropriate format specifier for an unsigned long (which you have
> from the "ul" in the constant) is %#lx and not "%#"PRIxXX which is
> associated with uintXX_t types.
>
> If you need a 64 bit type then you might have meant instead to use "ull"
> in which case you want "%#llx" as the format specifier.
This is what I need. Thanks for suggestion.
Chao
>
> If you really want/need an exactly 64 bit type then you'll have to do
> some nasty casting, something like "((uint64_t)1) << info->cbm_len) - 1"
> or something, that's pretty ugly though. If you have to go this route
> then please test both builds, in case I've gotten my ()'s wrong.
>
> Ian.
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |