lkml.org 
[lkml]   [2006]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: How to map high memory for block io
    Pierre Ossman wrote:
    > Russell King wrote:
    >
    >> On Fri, Jan 27, 2006 at 09:22:06PM +0100, Jens Axboe wrote:
    >>
    >>
    >>> That is definitely valid, same goes for the bio_vec structure. They map
    >>> _a_ page, after all :-)
    >>>
    >>>
    >> Okay. Pierre - are you saying that you have an sg entry where
    >> sg->offset + sg->length > PAGE_SIZE, and hence is causing you to
    >> cross a page boundary?
    >>
    >>
    >>
    >
    > That, and sg->length > PAGE_SIZE. On highmem systems this causes all
    > kinds of funky behaviour. Usually just bogus data in the buffers though.
    >
    >

    Test done here, few minutes ago. Added this to the wbsd driver in its
    kmap routine:

    if ((host->cur_sg->offset + host->cur_sg->length) > PAGE_SIZE)
    printk(KERN_DEBUG "wbsd: Big sg: %d, %d\n",
    host->cur_sg->offset, host->cur_sg->length);

    got:

    [17385.425389] wbsd: Big sg: 0, 8192
    [17385.436849] wbsd: Big sg: 0, 7168
    [17385.436859] wbsd: Big sg: 0, 7168
    [17385.454029] wbsd: Big sg: 2560, 5632
    [17385.454216] wbsd: Big sg: 2560, 5632

    And so on.

    Rgds
    Pierre

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-01-27 23:01    [W:0.024 / U:2.944 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site