Messages in this thread Patch in this message | | | Date | Thu, 20 Aug 2009 17:21:23 -0500 (CDT) | From | Walt Holman <> | Subject | Re: Strange network timeouts w/ 2.6.30.5 |
| |
----- "Krzysztof Halasa" <khc@pm.waw.pl> wrote:
> Walt Holman <walt@holmansrus.com> writes: > > > dmesg is attached. This box does have >2GB Ram (6GB total). The > dmesg > > will show e100 init'd 3 times since the first is the stock > modprobe, > > 2nd was forced with use_io and the 3rd modprobe was after reverting > > the patch. > > You most probably can't test without swiotlb (RAM has to be limited > to > 2 GB or so), can you? That would (dis)prove my theory. Alternatively > (or > better), a test on IOMMU-equipped system would do.
Would something like passing a mem=xx cmdline on x86_64 be sufficient to test this?
-Walt
> > Since swiotlb is x86-only thing (though other 64-bit archs may have > something similar), I think the correct work around is to enable the > "for_device" handoff on !X86. > > Something like maybe: > > Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl> > > diff --git a/drivers/net/e100.c b/drivers/net/e100.c > index 014dfb6..b610088 100644 > --- a/drivers/net/e100.c > +++ b/drivers/net/e100.c > @@ -1762,9 +1762,12 @@ static int e100_rx_indicate(struct nic *nic, > struct rx *rx, > > if (ioread8(&nic->csr->scb.status) & rus_no_res) > nic->ru_running = RU_SUSPENDED; > +#ifndef CONFIG_X86 > + /* FIXME interferes with swiotlb. */ > pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr, > sizeof(struct rfd), > PCI_DMA_BIDIRECTIONAL); > +#endif > return -ENODATA; > } > > -- > Krzysztof Halasa -- 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/
| |