Re: [BUG] 2.6.23-rc3-mm1 Kernel panic - not syncing: DMA: Memory would be corrupted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On (22/08/07 16:27), Luck, Tony didst pronounce:
> > > The more ioc's you have, the more space you will use.
> > 
> > Default SW IOTLB allocation is 64MB ... how much should we see
> > used per ioc?
> > 
> > Kamelesh: You could try increasing the amount of sw iotlb space
> > available by booting with a swiotlb=131072 argument (argument
> > value is the number of 2K slabs to allocate ... 131072 would
> > give you four times as much space as the default allocation).
> > 
> 
> I tried that value and just in case swiotlb=262144. An IA-64 machines I
> have here fails with the same message anyway. i.e.
> 
> [   19.834906] mptbase: Initiating ioc1 bringup
> [   20.317152] ioc1: LSI53C1030 C0: Capabilities={Initiator}
> [   15.474303] scsi1 : ioc1: LSI53C1030 C0, FwRev=01032821h, Ports=1, MaxQ=222, IRQ=72
> [   20.669730] GSI 142 (level, low) -> CPU 5 (0x1200) vector 73
> [   20.675602] ACPI: PCI Interrupt 0000:41:03.0[A] -> GSI 142 (level, low) -> IRQ 73
> [   20.683508] mptbase: Initiating ioc2 bringup
> [   21.166796] ioc2: LSI53C1030 C0: Capabilities={Initiator}
> [   21.180539] DMA: Out of SW-IOMMU space for 263200 bytes at device ?
> [   21.187018] Kernel panic - not syncing: DMA: Memory would be corrupted

I saw same trouble on my box, and I chased what was wrong.
Here is today's progress of mine.

__get_free_pages() of swiotlb_alloc_coherent() fails in rc3-mm1.
(See following patch)
But, it doesn't fail on rc2-mm2, and kernel can boot up.

Hmmm....


(2.6.23-rc3-mm1)
---
swiotlb_alloc_coherent flags=21 order=3 ret=0000000000000000
DMA: Out of SW-IOMMU space for 266368 bytes at device ?
Kernel panic - not syncing: DMA: Memory would be corrupted
---




(2.6.23-rc2-mm2)
---
swiotlb_alloc_coherent flags=21 order=3 ret=e000000020080000
           :
       (boot up continue...)

---
 lib/swiotlb.c |    2 ++
 1 file changed, 2 insertions(+)

Index: current/lib/swiotlb.c
===================================================================
--- current.orig/lib/swiotlb.c	2007-08-23 22:27:01.000000000 +0900
+++ current/lib/swiotlb.c	2007-08-23 22:29:49.000000000 +0900
@@ -455,6 +455,8 @@ swiotlb_alloc_coherent(struct device *hw
 	flags |= GFP_DMA;
 
 	ret = (void *)__get_free_pages(flags, order);
+
+	printk("%s flags=%0x order=%d ret=%p\n",__func__, flags, order, ret);
 	if (ret && address_needs_mapping(hwdev, virt_to_bus(ret))) {
 		/*
 		 * The allocated memory isn't reachable by the device.


-- 
Yasunori Goto 


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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux