[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 5 of 6] [OCAML] Fix 2 bit-twiddling bugs and an off-by-one



On Fri, 2011-10-07 at 11:26 +0100, Jon Ludlam wrote:
> The bit bugs are in ocaml vcpu affinity calls, and the off-by-one
> error is in the ocaml console ring code
> 
> Signed-off-by: Zheng Li <zheng.li@xxxxxxxxxxxxx>
> Acked-by: Jon Ludlam <jonathan.ludlam@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> 
> diff -r da67f075e413 -r fdca6d8c0c5a tools/ocaml/libs/xc/xenctrl_stubs.c
> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> @@ -430,7 +430,7 @@
>  
>       for (i=0; i<len; i++) {
>               if (Bool_val(Field(cpumap, i)))
> -                     c_cpumap[i/8] |= i << (i&7);
> +                     c_cpumap[i/8] |= 1 << (i&7);
>       }
>       retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
>                                    Int_val(vcpu), c_cpumap);
> @@ -466,7 +466,7 @@
>       ret = caml_alloc(len, 0);
>  
>       for (i=0; i<len; i++) {
> -             if (c_cpumap[i%8] & 1 << (i&7))
> +             if (c_cpumap[i/8] & 1 << (i&7))
>                       Store_field(ret, i, Val_true);
>               else
>                       Store_field(ret, i, Val_false);
> @@ -523,7 +523,7 @@
>  
>  CAMLprim value stub_xc_readconsolering(value xch)
>  {
> -     unsigned int size = RING_SIZE;
> +     unsigned int size = RING_SIZE - 1;
>       char *ring_ptr = ring;
>  
>       CAMLparam1(xch);
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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