linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "George Spelvin" <linux@sciencehorizons.net>
To: andriy.shevchenko@linux.intel.com, linux@sciencehorizons.net
Cc: bjorn@mork.no, linux-kernel@vger.kernel.org,
	matt@codeblueprint.co.uk, rv@rasmusvillemoes.dk
Subject: Re: [PATCH v2 1/2] lib/vsprintf.c: Simplify uuid_string()
Date: 5 Jun 2016 15:57:41 -0400	[thread overview]
Message-ID: <20160605195741.29798.qmail@ns.sciencehorizons.net> (raw)
In-Reply-To: <1465136576.1767.59.camel@linux.intel.com>

r
>From andriy.shevchenko@linux.intel.com Sun Jun 05 14:21:40 2016
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.26,421,1459839600"; 
   d="scan'208";a="969274163"
Subject: Re: [PATCH v2 1/2] lib/vsprintf.c: Simplify uuid_string()
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: George Spelvin <linux@sciencehorizons.net>
Cc: bjorn@mork.no, linux-kernel@vger.kernel.org, matt@codeblueprint.co.uk, 
	rv@rasmusvillemoes.dk
Date: Sun, 05 Jun 2016 17:22:56 +0300
In-Reply-To: <20160604051411.3635.qmail@ns.sciencehorizons.net>
References: <20160604051411.3635.qmail@ns.sciencehorizons.net>
Organization: Intel Finland Oy
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.20.2-2 
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit

Andy Shevchenko wrote:
> On Sat, 2016-06-04 at 01:14 -0400, George Spelvin wrote:
>> -		if (uc)
>> -			p = hex_byte_pack_upper(p, addr[index[i]]);
>> -		else
>> -			p = hex_byte_pack(p, addr[index[i]]);
>> +		u8 byte = addr[index[i]];
>> +
>> +		*p++ = hex[byte >> 4];
>> +		*p++ = hex[byte & 0x0f];

> And what prevents you to assign hex_byte_pack()/hex_byte_pack_upper()
> and do one call here?

Because they're inline functions, so there's no compiled copy to
take the address of.

Since they're delcared "static", if you take their addresses anyway,
gcc will helpfully compile private versions for the use of this source
file, which will be bigger and slower than the simple inline expansion
I used here.

It's not even any *simpler*.  Remembering what "hex_byte_pack()" means
is as much mental effort as interpreting those two very simple lines.

There's no strong reason to *avoid* using the hex_asc[] arrays directly.
It's done in several other places in the kernel, including earlier in
lib/vsprintf.c (search for "hex_asc_upper" in number()).

If they were intended to be "off limits", they would have been given
_-prefixed names.

  reply	other threads:[~2016-06-05 19:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1464952090.1767.34.camel@linux.intel.com>
2016-06-04  5:13 ` [PATCH v2 0/2] Clean up and shrink uuid input & output George Spelvin
2016-06-04  5:14   ` [PATCH v2 1/2] lib/vsprintf.c: Simplify uuid_string() George Spelvin
2016-06-05 14:22     ` Andy Shevchenko
2016-06-05 19:57       ` George Spelvin [this message]
2016-06-04  5:14   ` [PATCH v2 2/2] lib/uuid.c: eliminate uuid_[bl]e_index arrays George Spelvin
2016-06-04  5:42     ` kbuild test robot
2016-06-04 16:29     ` Joe Perches
2016-06-04 21:57       ` George Spelvin
2016-06-05 14:19       ` Andy Shevchenko
2016-06-05 15:34         ` Joe Perches
2016-06-05 16:15           ` Andy Shevchenko
2016-06-04 13:16   ` [PATCH v2 3/2] lib/uuid.c: Silence an unchecked return value warning George Spelvin
2016-06-05 14:21     ` Andy Shevchenko
2016-06-05 19:25       ` George Spelvin
2016-06-06  8:24         ` Andy Shevchenko
2016-06-07 16:43           ` George Spelvin
2016-06-07 17:13             ` Joe Perches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160605195741.29798.qmail@ns.sciencehorizons.net \
    --to=linux@sciencehorizons.net \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bjorn@mork.no \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt@codeblueprint.co.uk \
    --cc=rv@rasmusvillemoes.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).