acenic >4gig sendfile problem
When doing sendfile with my acenic card on my 8xPIII-700 and PAE running 2.4.18, I'm getting all zeros in the files being transmitted.
Running the Redhat 2.4.18-4 kernel fixes the problem. I saw this
entry in the rpm's changelog:
* Sat Aug 25 2001 Ingo Molnar <[email protected]>
- fix the acenic driver bug that caused random kernel memory being
sent out on the wire, on x86 systems with more than 4 GB RAM.
I tried to pull the relevant bits out of linux-2.4.17-selected-ac-bits.patch and linux-2.4.18-tg3.patch, with no success. I mailed Ingo with no response.
Does anybody remember what the fix was, or still have the patch handy?
Signature · 2 lines
Dave Hansen [email protected]
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Dave" == Dave Hansen <[email protected]> writes:
Dave> When doing sendfile with my acenic card on my 8xPIII-700 and PAE Dave> running 2.4.18, I'm getting all zeros in the files being Dave> transmitted. Running the Redhat 2.4.18-4 kernel fixes the Dave> problem. I saw this entry in the rpm's changelog: * Sat Aug 25 Dave> 2001 Ingo Molnar <[email protected]> - fix the acenic driver bug Dave> that caused random kernel memory being sent out on the wire, on Dave> x86 systems with more than 4 GB RAM.
Actually I think you're hitting a bug in pci_map_page() rather than in the acenic.driver.
Try the patch from Ben LaHaise included below.
Jes
------- Start of forwarded message -------
Resent-Message-Id: <[email protected]>
Date: Mon, 10 Jun 2002 19:56:44 -0400
From: Benjamin LaHaise <[email protected]>
To: Marcelo Tosatti <[email protected]>,
Linux Kernel <[email protected]>
Subject: highmem pci dma mapping does not work, missing cast in asm-i386/pci.h
Message-ID: <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Resent-From: [email protected]
Resent-Date: Mon, 10 Jun 2002 19:58:37 -0400
Resent-To: [email protected]
Hello all,
There's a missing cast in pci_map_page that causes 64 bit capable drivers to access the wrong memory for highmem pages. Please include the patch below to fix it.
-ben
Signature · 22 lines
"You will be reincarnated as a toad; and you will be much happier." :r ~/patches/v2.4/v2.4.19-pre10-pci_highmem.diff diff -urN v2.4.19-pre10/include/asm-i386/pci.h pci-v2.4.19-pre10/include/asm-i386/pci.h --- v2.4.19-pre10/include/asm-i386/pci.h Thu Jun 6 20:10:08 2002 +++ pci-v2.4.19-pre10/include/asm-i386/pci.h Mon Jun 10 19:54:16 2002 @@ -103,7 +103,7 @@ if (direction == PCI_DMA_NONE) out_of_line_bug(); - return (page - mem_map) * PAGE_SIZE + offset; + return (dma_addr_t)(page - mem_map) * PAGE_SIZE + offset; } static inline void pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address, - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ ------- End of forwarded message -------
But...
sendfile() doesn't support >4gig anyway - does it? that's the (yet unimplemented) sendfile64()
roy
Signature · 4 lines
Roy Sigurd Karlsbakk, Datavaktmester Computers are like air conditioners. They stop working when you open Windows.
Quoted 39 lines · Jes Sorensen
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Dave" == Dave Hansen <[email protected]> writes:
Dave> When doing sendfile with my acenic card on my 8xPIII-700 and PAE Dave> running 2.4.18, I'm getting all zeros in the files being Dave> transmitted. Running the Redhat 2.4.18-4 kernel fixes the Dave> problem. I saw this entry in the rpm's changelog: * Sat Aug 25 Dave> 2001 Ingo Molnar <[email protected]> - fix the acenic driver bug Dave> that caused random kernel memory being sent out on the wire, on Dave> x86 systems with more than 4 GB RAM.
Actually I think you're hitting a bug in
pci_map_page()rather than in the acenic.driver.Try the patch from Ben LaHaise included below.
Jes
------- Start of forwarded message -------
Resent-Message-Id: <[email protected]>
Date: Mon, 10 Jun 2002 19:56:44 -0400
From: Benjamin LaHaise <[email protected]>
To: Marcelo Tosatti <[email protected]>,
Linux Kernel <[email protected]>
Subject: highmem pci dma mapping does not work, missing cast inasm-i386/pci.hMessage-ID: <[email protected]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Resent-From: [email protected]
Resent-Date: Mon, 10 Jun 2002 19:58:37 -0400
Resent-To: [email protected]Hello all,
There's a missing cast in
pci_map_pagethat causes 64 bit capable drivers to access the wrong memory for highmem pages. Please include the patch below to fix it.-ben
From: Roy Sigurd Karlsbakk <[email protected]>
Date: Mon, 24 Jun 2002 17:54:59 +0200
sendfile() doesn't support >4gig anyway - does it? that's the (yet unimplemented) sendfile64()
Nothing to do with file offsets. It has to do with what physical page the file data ends up in which can be anywhere.
Quoted 11 lines · Jes Sorensen
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 1 line
"Dave" == Dave Hansen <[email protected]> writes:
Dave> When doing sendfile with my acenic card on my 8xPIII-700 and PAE Dave> running 2.4.18, I'm getting all zeros in the files being Dave> transmitted. Running the Redhat 2.4.18-4 kernel fixes the Dave> problem. I saw this entry in the rpm's changelog: * Sat Aug 25 Dave> 2001 Ingo Molnar <[email protected]> - fix the acenic driver bug Dave> that caused random kernel memory being sent out on the wire, on Dave> x86 systems with more than 4 GB RAM.
Quoted 5 lines
Actually I think you're hitting a bug in
pci_map_page()rather than in the acenic.driver.Try the patch from Ben LaHaise included below.
Thanks for the patch. I'll give it a shot when I get back from OLS.
Signature · 2 lines
Dave Hansen [email protected]