2013-12-12 13:49:52

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1] net/sunrpc/cache: simplify code by using hex_pack_byte()

hex_pack_byte() is a fast way to convert a byte in its ASCII representation. We
may use it instead of custom approach.

Signed-off-by: Andy Shevchenko <[email protected]>
---
net/sunrpc/cache.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index a72de07..0877db0 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -1111,9 +1111,7 @@ void qword_addhex(char **bpp, int *lp, char *buf, int blen)
*bp++ = 'x';
len -= 2;
while (blen && len >= 2) {
- unsigned char c = *buf++;
- *bp++ = '0' + ((c&0xf0)>>4) + (c>=0xa0)*('a'-'9'-1);
- *bp++ = '0' + (c&0x0f) + ((c&0x0f)>=0x0a)*('a'-'9'-1);
+ bp = hex_byte_pack(bp, *buf++);
len -= 2;
blen--;
}
--
1.8.4.4



2013-12-12 16:00:12

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH v1] net/sunrpc/cache: simplify code by using hex_pack_byte()

On Thu, Dec 12, 2013 at 03:49:21PM +0200, Andy Shevchenko wrote:
> hex_pack_byte() is a fast way to convert a byte in its ASCII representation. We
> may use it instead of custom approach.

Thanks, I'll take that through the nfsd tree for 3.14.

--b.

>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> net/sunrpc/cache.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
> index a72de07..0877db0 100644
> --- a/net/sunrpc/cache.c
> +++ b/net/sunrpc/cache.c
> @@ -1111,9 +1111,7 @@ void qword_addhex(char **bpp, int *lp, char *buf, int blen)
> *bp++ = 'x';
> len -= 2;
> while (blen && len >= 2) {
> - unsigned char c = *buf++;
> - *bp++ = '0' + ((c&0xf0)>>4) + (c>=0xa0)*('a'-'9'-1);
> - *bp++ = '0' + (c&0x0f) + ((c&0x0f)>=0x0a)*('a'-'9'-1);
> + bp = hex_byte_pack(bp, *buf++);
> len -= 2;
> blen--;
> }
> --
> 1.8.4.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html