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

Re: [Xen-devel] [PATCH 3/4] sysctl/libxl: Provide information about IO topology



>>> On 02.12.14 at 22:34, <boris.ostrovsky@xxxxxxxxxx> wrote:
> @@ -362,6 +363,35 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) 
> u_sysctl)
>                                          u.topologyinfo.max_cpu_index) )
>                  ret = -EFAULT;
>          }
> +
> +        if ( !ret && !guest_handle_is_null(ti->iotopo) )
> +        {
> +            for ( i = 0; i < ti->max_devs; i++ )

Careful about long running loops here please.

Jan

> +            {
> +                xen_sysctl_iotopo_t iotopo;
> +                struct pci_dev *pdev;
> +
> +                if ( copy_from_guest_offset(&iotopo, ti->iotopo, i, 1) )
> +                {
> +                    ret = -EFAULT;
> +                    break;
> +                }
> +
> +                spin_lock(&pcidevs_lock);
> +                pdev = pci_get_pdev(iotopo.seg, iotopo.bus, iotopo.devfn);
> +                if ( !pdev || (pdev->node == NUMA_NO_NODE) )
> +                    iotopo.node = INVALID_TOPOLOGY_ID;
> +                else
> +                    iotopo.node = pdev->node;
> +                spin_unlock(&pcidevs_lock);
> +
> +                if ( copy_to_guest_offset(ti->iotopo, i, &iotopo, 1) )
> +                {
> +                    ret = -EFAULT;
> +                    break;
> +                }
> +            }
> +        }
>      }
>      break;
>  
> -- 
> 1.8.4.2




_______________________________________________
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®.