All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexey.Brodkin@synopsys.com (Alexey Brodkin)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH] __div64_32: implement division by multiplication for 32-bit arches
Date: Fri, 30 Oct 2015 15:54:02 +0000	[thread overview]
Message-ID: <1446220442.4394.42.camel@synopsys.com> (raw)
In-Reply-To: <alpine.LFD.2.20.1510301113530.630@knanqh.ubzr>

Hi Nicolas,

On Fri, 2015-10-30@11:17 -0400, Nicolas Pitre wrote:
> On Fri, 30 Oct 2015, M?ns Rullg?rd wrote:
> 
> > Nicolas Pitre <nicolas.pitre at linaro.org> writes:
> > 
> > > OK... I was intrigued, so I adapted my ARM code to the generic case, 
> > > including the overflow avoidance optimizations.  Please have look and 
> > > tell me how this works for you.
> > > 
> > > If this patch is accepted upstream, then it could be possible to 
> > > abstract only the actual multiplication part with some architecture 
> > > specific assembly.
> > 
> > Good idea.
> 
> Could you please provide a reviewed-by or acked-by tag?

Sure!

Acked-by: Alexey Brodkin <abrodkin at synopsys.com>

BTW I thought about that optimization a bit more and now I think
we may even skip addition of arch-specific assembly insertions.

That's because that kind of division as discussed many times
should be used as limited as possible, in other words there should be
just a very few usages of it especially in very frequently used code paths.
And in that case there might be not much of benefit having do_div()
even faster and smaller than the one we're about to get with your change.

-Alexey

WARNING: multiple messages have this Message-ID (diff)
From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: "nicolas.pitre@linaro.org" <nicolas.pitre@linaro.org>
Cc: "shemminger@linux-foundation.org"
	<shemminger@linux-foundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Vineet.Gupta1@synopsys.com" <Vineet.Gupta1@synopsys.com>,
	"linux-snps-arc@lists.infradead.org" 
	<linux-snps-arc@lists.infradead.org>,
	"mans@mansr.com" <mans@mansr.com>,
	"rmk+kernel@arm.linux.org.uk" <rmk+kernel@arm.linux.org.uk>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"mingo@elte.hu" <mingo@elte.hu>
Subject: Re: [PATCH] __div64_32: implement division by multiplication for 32-bit arches
Date: Fri, 30 Oct 2015 15:54:02 +0000	[thread overview]
Message-ID: <1446220442.4394.42.camel@synopsys.com> (raw)
In-Reply-To: <alpine.LFD.2.20.1510301113530.630@knanqh.ubzr>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1332 bytes --]

Hi Nicolas,

On Fri, 2015-10-30 at 11:17 -0400, Nicolas Pitre wrote:
> On Fri, 30 Oct 2015, Måns Rullgård wrote:
> 
> > Nicolas Pitre <nicolas.pitre@linaro.org> writes:
> > 
> > > OK... I was intrigued, so I adapted my ARM code to the generic case, 
> > > including the overflow avoidance optimizations.  Please have look and 
> > > tell me how this works for you.
> > > 
> > > If this patch is accepted upstream, then it could be possible to 
> > > abstract only the actual multiplication part with some architecture 
> > > specific assembly.
> > 
> > Good idea.
> 
> Could you please provide a reviewed-by or acked-by tag?

Sure!

Acked-by: Alexey Brodkin <abrodkin@synopsys.com>

BTW I thought about that optimization a bit more and now I think
we may even skip addition of arch-specific assembly insertions.

That's because that kind of division as discussed many times
should be used as limited as possible, in other words there should be
just a very few usages of it especially in very frequently used code paths.
And in that case there might be not much of benefit having do_div()
even faster and smaller than the one we're about to get with your change.

-Alexeyÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

  reply	other threads:[~2015-10-30 15:54 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-28 22:47 [PATCH] __div64_32: implement division by multiplication for 32-bit arches Alexey Brodkin
2015-10-28 22:47 ` Alexey Brodkin
2015-10-28 23:32 ` Nicolas Pitre
2015-10-28 23:32   ` Nicolas Pitre
2015-10-29  7:34   ` Alexey Brodkin
2015-10-29  7:34     ` Alexey Brodkin
2015-10-30  1:26   ` Nicolas Pitre
2015-10-30  1:26     ` Nicolas Pitre
2015-10-30  5:41     ` Vineet Gupta
2015-10-30  5:41       ` Vineet Gupta
2015-10-30 12:41       ` Måns Rullgård
2015-10-30 12:41         ` Måns Rullgård
2015-10-30 12:40     ` Måns Rullgård
2015-10-30 12:40       ` Måns Rullgård
2015-10-30 15:17       ` Nicolas Pitre
2015-10-30 15:17         ` Nicolas Pitre
2015-10-30 15:54         ` Alexey Brodkin [this message]
2015-10-30 15:54           ` Alexey Brodkin
2015-10-30 16:55           ` Nicolas Pitre
2015-10-30 16:55             ` Nicolas Pitre
2015-10-30 17:45             ` Måns Rullgård
2015-10-30 17:45               ` Måns Rullgård
2015-11-04 23:46               ` Nicolas Pitre
2015-11-04 23:46                 ` Nicolas Pitre
2015-11-04 23:48                 ` Nicolas Pitre
2015-11-04 23:48                   ` Nicolas Pitre
2015-11-05  3:13                   ` Vineet Gupta
2015-11-05  3:13                     ` Vineet Gupta
2015-11-05  5:06                     ` Nicolas Pitre
2015-11-05  5:06                       ` Nicolas Pitre
2015-11-04 23:49                 ` Måns Rullgård
2015-11-04 23:49                   ` Måns Rullgård
2015-10-30 14:28     ` Alexey Brodkin
2015-10-30 14:28       ` Alexey Brodkin
2015-10-29  0:36 ` kbuild test robot
2015-10-29  0:36   ` kbuild test robot
2015-10-29 12:52 ` Måns Rullgård
2015-10-29 12:52   ` Måns Rullgård
2015-10-29 13:05   ` Alexey Brodkin
2015-10-29 13:05     ` Alexey Brodkin
2015-10-29 13:37     ` Måns Rullgård
2015-10-29 13:37       ` Måns Rullgård
2015-10-29 13:31 ` Russell King - ARM Linux
2015-10-29 13:31   ` Russell King - ARM Linux
2015-10-29 14:32   ` Alexey Brodkin
2015-10-29 14:32     ` Alexey Brodkin
2015-10-29 17:09 ` Randy Dunlap
2015-10-29 17:09   ` Randy Dunlap

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=1446220442.4394.42.camel@synopsys.com \
    --to=alexey.brodkin@synopsys.com \
    --cc=linux-snps-arc@lists.infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.