Re: Net DMA crash when using the mv_xor driver

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

 



On Mon, Mar 2, 2009 at 9:27 AM, saeed bishara <saeed.bishara@xxxxxxxxx> wrote:
> Hi Dan,
>    The log below show a kernel crash when using the mv_xor dma engine
> and enabling the NET_DMA, the test that I run is iperf as server.
> after doing some experiences, I found that the reason is because this
> engine doesn't support requests less than 16 bytes, the driver returns
> NULL when the request len is too short.
> is this the right thing do when the prepare function needs to reject a request?

Yes, this is the right thing to do, but this particular backtrace is
something different.  In this case we are hitting the valid checks in
dma_cache_maint.  I suspect it is failing the dma_map_single call as
it is unlikely we have a bad struct page here, but your function
offsets do not correlate with my local build so it is hard to tell.
This leaves a skb buffer that does not pass the virt_addr_valid
checks?  That seems unlikely as well since, as far as I understand,
skb->data is always kmalloc'd?  Can you determine what the failing
address is and where it came from?

NET_DMA=n is the default on ARM for a reason.  The large overhead of
get_user_pages makes NET_DMA a losing proposition versus cpu-copy.  A
cache coherent architecture is a minimum requirement to see a
performance or cpu utilization gain with NET_DMA.  Regardless of
whether it provides a benefit, it should not be crashing, so let's dig
a bit deeper.

Thanks,
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux