lkml.org 
[lkml]   [2002]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC] generic device DMA implementation
    On Sat, Dec 07, 2002 at 08:45:30PM +1100, David Gibson wrote:
    > Actually, no, since my idea was to remove the "consistent_alloc()"
    > path from the driver entirely - leaving only the map/sync approach.
    > That gives a result which is correct everywhere (afaict) but (as
    > you've since pointed out) will perform poorly on platforms where the
    > map/sync operations are expensive.

    As I've also pointed out in the past couple of days, doing this will
    mean that you then need to teach the drivers to align structures to
    cache line boundaries. Otherwise, you _will_ get into a situation
    where you _will_ loose data.

    One such illustration of this is the tulip driver, with an array of
    16-byte control/status blocks on a machine with a 32-byte cache line
    size.

    I would rather keep the consistent_alloc() approach for allocating
    consistent memory, and align structures as they see fit, rather than
    having to teach the drivers to align appropriately. And you can be
    damned sure that driver writers are _not_ going to get the alignment
    right.

    --
    Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux
    http://www.arm.linux.org.uk/personal/aboutme.html

    -
    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: 2005-03-22 13:31    [W:0.043 / U:29.692 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site