From: Steve Wise <[email protected]>
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. :-)

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to