[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.