Re: [PATCH] Moving spinlock to struct usb_hcd

From: David Brownell
Date: Sat Jan 26 2008 - 03:22:23 EST


On Friday 25 January 2008, Romit Dasgupta wrote:
> This should help
> reduce contention to usb during high load where i/o is happening  to
> multiple hcds.

Looking at how this lock is used, contention doesn't look likely
to be an issue. It's never held for long ...

> @@ -1106,9 +1103,9 @@ EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb);
>  void usb_hcd_unlink_urb_from_ep(struct usb_hcd *hcd, struct urb *urb)
>  {
>         /* clear all state linking urb to this dev (and hcd) */
> -       spin_lock(&hcd_urb_list_lock);
> +       spin_lock(&hcd->hcd_urb_list_lock);
>         list_del_init(&urb->urb_list);
> -       spin_unlock(&hcd_urb_list_lock);
> +       spin_unlock(&hcd->hcd_urb_list_lock);
>  }
>  EXPORT_SYMBOL_GPL(usb_hcd_unlink_urb_from_ep);
>  

Do you have any proof that contention is an actual problem?
Because otherwise I see no benefit to such a change.

- Dave

--
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/