2016-04-08 19:55:37

by Denys Vlasenko

[permalink] [raw]
Subject: [PATCH] drivers/usb/gadget/udc/r8a66597-udc.c: Deinline pipe_change, save 2176 bytes

This function compiles to 298 bytes of machine code, has ~10 callsites.

This is a USB 2.0 device, USB 2.0 is limited to 35 MB/s, so should be almost never CPU bound.
No need to optimize for speed this agressively.

Signed-off-by: Denys Vlasenko <[email protected]>
CC: Felipe Balbi <[email protected]>
CC: [email protected]
CC: [email protected]
---
drivers/usb/gadget/udc/r8a66597-udc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/udc/r8a66597-udc.c b/drivers/usb/gadget/udc/r8a66597-udc.c
index baa0609..1d79a47 100644
--- a/drivers/usb/gadget/udc/r8a66597-udc.c
+++ b/drivers/usb/gadget/udc/r8a66597-udc.c
@@ -296,7 +296,7 @@ static void r8a66597_change_curpipe(struct r8a66597 *r8a66597, u16 pipenum,
} while ((tmp & mask) != loop);
}

-static inline void pipe_change(struct r8a66597 *r8a66597, u16 pipenum)
+static void pipe_change(struct r8a66597 *r8a66597, u16 pipenum)
{
struct r8a66597_ep *ep = r8a66597->pipenum2ep[pipenum];

--
2.1.0


2016-04-11 05:23:17

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH] drivers/usb/gadget/udc/r8a66597-udc.c: Deinline pipe_change, save 2176 bytes


Hi,

Denys Vlasenko <[email protected]> writes:
> This function compiles to 298 bytes of machine code, has ~10 callsites.

fair enough

> This is a USB 2.0 device, USB 2.0 is limited to 35 MB/s, so should be

it's not limited to 35MB/sec, sorry. USB 2.0 has a theoretical maximum
of 60MB/sec. But 44MB/sec is what people consider 'possible'. I've
gotten to 41MB/sec with g_mas_storage gadget.

> almost never CPU bound.
>
> No need to optimize for speed this agressively.
>
> Signed-off-by: Denys Vlasenko <[email protected]>
> CC: Felipe Balbi <[email protected]>
> CC: [email protected]
> CC: [email protected]
> ---
> drivers/usb/gadget/udc/r8a66597-udc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/udc/r8a66597-udc.c b/drivers/usb/gadget/udc/r8a66597-udc.c
> index baa0609..1d79a47 100644
> --- a/drivers/usb/gadget/udc/r8a66597-udc.c
> +++ b/drivers/usb/gadget/udc/r8a66597-udc.c
> @@ -296,7 +296,7 @@ static void r8a66597_change_curpipe(struct r8a66597 *r8a66597, u16 pipenum,
> } while ((tmp & mask) != loop);
> }
>
> -static inline void pipe_change(struct r8a66597 *r8a66597, u16 pipenum)
> +static void pipe_change(struct r8a66597 *r8a66597, u16 pipenum)
> {
> struct r8a66597_ep *ep = r8a66597->pipenum2ep[pipenum];
>
> --
> 2.1.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
balbi


Attachments:
signature.asc (818.00 B)

2016-04-11 08:28:03

by Felipe Balbi

[permalink] [raw]
Subject: Re: [PATCH] drivers/usb/gadget/udc/r8a66597-udc.c: Deinline pipe_change, save 2176 bytes


Hi again,

Felipe Balbi <[email protected]> writes:
> Denys Vlasenko <[email protected]> writes:
>> This function compiles to 298 bytes of machine code, has ~10 callsites.
>
> fair enough
>
>> This is a USB 2.0 device, USB 2.0 is limited to 35 MB/s, so should be
>
> it's not limited to 35MB/sec, sorry. USB 2.0 has a theoretical maximum
> of 60MB/sec. But 44MB/sec is what people consider 'possible'. I've
> gotten to 41MB/sec with g_mas_storage gadget.

also, you need to break you commit log lines at 72 characters. Please,
fix and resend

--
balbi


Attachments:
signature.asc (818.00 B)