[ofa-general] [PATCH 2.6.30] RDMA/cxgb3: Remove modulo math.
David Miller
davem at davemloft.net
Tue Feb 10 17:07:40 PST 2009
From: Steve Wise <swise at opengridcomputing.com>
Date: Tue, 10 Feb 2009 19:03:52 -0600
> Roland Dreier wrote:
> > I'll roll this into the offending patch (that is in -next).
> >
> > But:
> >
> > > - wqe->recv.sgl[i].to = cpu_to_be64(((u32) wr->sg_list[i].addr) %
> > > - (1UL << (12 + page_size[i])));
> > > + wqe->recv.sgl[i].to = cpu_to_be64(((u64) wr->sg_list[i].addr) &
> > > + ((1UL << (12 + page_size[i]))-1));
> >
> > Is this required? Strength reduction optimization should do this
> > automatically (and the code has been there for quite a while, so
> > obviously it isn't causing problems)
> >
> > - R.
> >
> Ok.
GCC won't optimize that modulus the way you expect, try for yourself
and look at the assembler if you don't believe me. :-)
More information about the general
mailing list