Re: [BUG] x86_64 pci_map_sg modifies sg list - fails multiple map/unmaps

From: David S. Miller (davem_at_redhat.com)
Date: 01/05/04

  • Next message: j.beyer_at_web.de: "build requirements for 2.6.0 (make)"
    Date:	Mon, 5 Jan 2004 13:01:18 -0800
    To: Andi Kleen <ak@suse.de>
    
    

    On 05 Jan 2004 22:02:19 +0100
    Andi Kleen <ak@suse.de> wrote:

    > It sets length to zero to terminate the list when entries were merged.
    > It doesn't have a dma_length.

    I understand, and you are defining dma_length to just use the
    normal sg->length field, and I'm trying to explain to you that this
    is not allowed. If you want to modify the length field to zero terminate
    the DMA chunks, you must have a seperate dma_length field in your
    platforms scatterlist structure.

    Again, for the 3rd time, see what sparc64 is doing here.

    > It tripping over remapped lists is an side effect, but an useful one
    > because remapping is not supported (merging destroys information that
    > cannot be reconstructed). If the bug didn't exist you would get data
    > corruption.

    You should not be modifying any portion of the non-DMA fields.
    Therefore, if the SG is unmapped, then passed into your IOMMU code for
    a future map call, it should just work.

    -
    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/


  • Next message: j.beyer_at_web.de: "build requirements for 2.6.0 (make)"

    Relevant Pages

    • Re: [PATCH] bogus __KERNEL_SYSCALLS__ usage
      ... > (nothing to fix, they were defining it and including unistd.h for no ... used as a kernel syscall, potentially also clone and _exit, when they are ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: [BUG] x86_64 pci_map_sg modifies sg list - fails multiple map/unmaps
      ... > adapters run several percent faster). ... you must not modify sg->length in any way shape or form. ... If the documentation states this wrongly, it's a doc bug. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Modifying a type at runtime
      ... can tell about defining a dynamic assembly. ... class factory so that you can set a context of some kind on creation, etc, ... is it possible somehow to copy an Assembly into an AssemblyBuilder> in order to modify that. ... > Is there another dynamic way to perform the injection asm). ...
      (microsoft.public.dotnet.languages.csharp)
    • RE: Network routing issue
      ... If you can modify the routes on A and B (ie route A via C on B, ... then you can use iptables to modify the packet in various ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • Re: Bug#234976: kernel-source-2.6.4: Software Suspend doesnt work
      ... > easy as defining it CONFIG_PM. ... Humble apologies. ... Nigel Cunningham ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)