From: Boaz Harrosh <bharrosh@panasas.com>
To: Benny Halevy <bhalevy@tonian.com>
Cc: Jim Rees <rees@umich.edu>,
fanchaoting <fanchaoting@cn.fujitsu.com>,
Benny Halevy <benny@tonian.com>, <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH] fix do_xor_speed 64-bit devision issue on 32-bits arch
Date: Sun, 25 Dec 2011 17:25:10 +0200 [thread overview]
Message-ID: <4EF74056.2040306@panasas.com> (raw)
In-Reply-To: <4EF6B516.5070609@tonian.com>
On 12/25/2011 07:31 AM, Benny Halevy wrote:
> On 2011-12-23 15:25, Jim Rees wrote:
>> fanchaoting wrote:
>>
>> Benny Halevy 写道:
>> > I am trying to build a pnfs client on a 32 bit system and the
>> > pnfs-latest kernel fails to compile. I get the following error
>> >
>> > > Building modules, stage 2.
>> > > TEST posttest
>> > > MODPOST 2046 modules
>> > >ERROR: "__udivdi3" [crypto/xor.ko] undefined!
>> > >make[1]: *** [__modpost] Error 1
>> > >make: *** [modules] Error 2
>> > >make: *** Waiting for unfinished jobs....
>> > >Succeed: decoded and checked 1244492 instructions
>> >
>> > Reported-by: Rita Sequeira <rita.prajval@gmail.com>
>> > Signed-off-by: Benny Halevy <bhalevy@tonian.com>
>> > ---
>> >
>> > untested patch yet...
>> >
>> > crypto/xor.c | 3 ++-
>> > 1 files changed, 2 insertions(+), 1 deletions(-)
>> >
>> > diff --git a/crypto/xor.c b/crypto/xor.c
>> > index 65433f5..2151ded 100644
>> > --- a/crypto/xor.c
>> > +++ b/crypto/xor.c
>> > @@ -95,7 +95,8 @@
>> >
>> > ns_end -= ns_begin;
>> > if (ns_end > 0)
>> > - speed = BENCH_SIZE / 1024 * count * NSEC_PER_SEC / ns_end;
>> > + speed = BENCH_SIZE / 1024 * count *
>> > + (unsigned)(NSEC_PER_SEC / ns_end);
>> > else
>> > speed = 17;
>> > tmpl->speed = speed;
>>
>> Hi,I also meet this problem ,but when i use you patch ,i can't solve this
>> problem.
>>
>> Maybe something like this?
>>
>> speed = do_div(BENCH_SIZE, 1024) * count * do_div(NSEC_PER_SEC, ns_end);
>>
>> This might not be exactly right because it changes the operator precedence,
>> but it should eliminate the calls to __udivdi3.
>
> Hmm, you mean execution order? (which you do not)
> C (and fortunately gcc too :) treats multiplication and division with the
> same priority and executes them from left to right...
>
> Boaz, please ack...
>
Hi
Please trash this patch for now. I will carry it out of tree for my use.
(Looks I'm the only one who's using UML and the XOR engine)
By next Connectathon I'll have a better patch sent to the right
people.
Thanks for your efforts, and sorry for the grief it caused.
Boaz
> Benny
>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-12-25 15:25 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-07 14:08 [PATCH] fix do_xor_speed 64-bit devision issue on 32-bits arch Benny Halevy
2011-12-23 6:41 ` fanchaoting
2011-12-23 13:25 ` Jim Rees
2011-12-25 5:31 ` Benny Halevy
2011-12-25 13:54 ` Jim Rees
2011-12-25 15:25 ` Boaz Harrosh [this message]
2011-12-25 15:57 ` Jim Rees
2011-12-26 7:11 ` Benny Halevy
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=4EF74056.2040306@panasas.com \
--to=bharrosh@panasas.com \
--cc=benny@tonian.com \
--cc=bhalevy@tonian.com \
--cc=fanchaoting@cn.fujitsu.com \
--cc=linux-nfs@vger.kernel.org \
--cc=rees@umich.edu \
/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).