[lkml]   [2009]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [ofa-general] [PATCH 2.6.30] RDMA/cxgb3: Remove modulo math.
     > > 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...

    > So you are handling the offset patch that will make it u64 and remove
    > the mod usage, correct?

    Yeah, I rolled the fix into the "offset needs to be u64" patch, it
    should be in linux-next by now (or at least in my for-next branch).

    - R.

     \ /
      Last update: 2009-02-11 19:39    [W:0.028 / U:7.064 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site