Re: [PATCH V2 2/3] dmaselftest: add memcpy selftest support functions

Sinan Kaya
2015-11-03T16:57:47Z

On 11/3/2015 11:46 AM, Timur Tabi wrote:
> Sinan Kaya wrote:
>> 1. Bug in ARM64 DMA subsystem.
>> 2. Bug in IOMMU driver.
>> 3. Bug in another newly introduced driver. The new driver would hog the
>> CPU and won't allow HIDMA interrupts to execute. Therefore, the test
>> times out.
>
> Which driver?
Some other driver that is not upstream yet.

>
> Wouldn't these problems already be exposed by dmatest? I was asking
> whether it's possible that, every now and then, your DMA internal test
> could fail and then the driver would unload. I'm not talking about hard
> bugs in other code that always causes the DMA driver test to fail.
>
The point is that dmatest is a kernel module that requires manual
interaction. It does not run automatically and is generally used by the
dma engine driver developer during development only.

Other developers like UART, SATA, USB, IOMMU etc. They don't care about
dmatest and I have seen their changes broke self-test multiple times. I
see the value of self test all the time.

I can make dma-self test a new kernel module. It could discover all DMA
devices with MEMCPY capability and run a self test on them. We could
tell the self test code deregister all DMA devices that fail the test.

I can also make it kernel command line dependent and disabled by
default. Those who want this functionality all the time can change their
kernel command line.

I hope this addresses concerns.

--
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project