[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49931C9D.2090604@opengridcomputing.com>
Date: Wed, 11 Feb 2009 12:44:45 -0600
From: Steve Wise <swise@...ngridcomputing.com>
To: Roland Dreier <rdreier@...co.com>
CC: randy.dunlap@...cle.com, linux-next@...r.kernel.org,
linux-kernel@...r.kernel.org, general@...ts.openfabrics.org
Subject: Re: [ofa-general] [PATCH 2.6.30] RDMA/cxgb3: Remove modulo math.
Roland Dreier wrote:
> > > Is it possible for the page to be bigger than 4GB? If so then yes you
> > > might be chopping off high-order bits or something.
>
> > Yes it is possible.
> >
> > A MR can be created with an iov_base of say 0xffffffff00000000.
> >
> > Then any sge.addr entries would be the iob_base + any offset.
>
> But the code we're talking about is:
>
> /* to in the WQE == the offset into the page */
> wqe->recv.sgl[i].to = cpu_to_be64(((u32) wr->sg_list[i].addr) %
> (1UL << (12 + page_size[i])));
>
> so it seems the top address bits don't matter unless page_size[i] is at
> least 20 -- in which case using 1UL to shift overflows on 32 bits anyway...
>
>
Yes yes...you're right. This code is really just saving the offset in
a page.
I'll send a new patch.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists