[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL1RGDVh7gNTrteiEaGg=4fxW=p3ydZPVf4d1hgtwNT9xUdOMw@mail.gmail.com>
Date: Thu, 8 Dec 2011 09:47:18 -0800
From: Roland Dreier <roland@...estorage.com>
To: Albert Strasheim <fullung@...il.com>
Cc: linux-rdma@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
David Woodhouse <dwmw2@...radead.org>
Subject: Re: kernel BUG at drivers/iommu/intel-iommu.c:1767 on F16 3.1.1-2.fc16.x86_64
> Any help would be appreciated. Would a firmware upgrade make a difference?
Almost certainly not a firmware issue.
> [ 597.412843] kernel BUG at drivers/iommu/intel-iommu.c:1767!
So this is
BUG_ON(addr_width < BITS_PER_LONG && (iov_pfn + nr_pages - 1)
>> addr_width);
in __domain_mapping() I believe. And we have:
int addr_width = agaw_to_width(domain->agaw) - VTD_PAGE_SHIFT;
How much RAM does you system have?
I don't know too much about the low-level VT-d details, but is it
possible the setup code
is choosing a too small "guest address width" to cover all your memory?
drivers/net/ethernet/mellanox/mlx4/main.c has
err = pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
if (err) {
dev_warn(&pdev->dev, "Warning: couldn't set 64-bit PCI
DMA mask.\n");
err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
if (err) {
dev_err(&pdev->dev, "Can't set PCI DMA mask,
aborting.\n");
goto err_release_regions;
}
}
err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
if (err) {
dev_warn(&pdev->dev, "Warning: couldn't set 64-bit "
"consistent PCI DMA mask.\n");
err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
if (err) {
dev_err(&pdev->dev, "Can't set consistent PCI
DMA mask, "
"aborting.\n");
goto err_release_regions;
}
}
do you see any warnings in your kernel log about setting the PCI DMA mask?
(in any case that should only affect bus addresses, not "guest addresses")
David, any idea?
- R.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists