Roland Dreier wrote: > > from a kexec point of view I believe that the preferred option is the > > former - shutdown the device so it can be initialised using standard paths > > in the second kernel. > > OK... however I'm not suggesting a separate kexec initialization path, > simply adding a reset of the device in the standard initialization. > This would be fairly normal for other types of device; for example, the > BIOS may have left a NIC in an undefined state due to network boot. Of > course BIOS is unlikely to use an IOAT DMA engine but the principle of > limiting assumptions about platform state still stands I think. I agree that is more robust if the init path copes with hardware arriving in an unknown state. I'll look into adding a channel reset in the init path (something that should probably have been there since the beginning). > From a quick look, it seems tricky to get a clean shutdown of IOAT stuff > since there doesn't seem to be a clean ordering that makes sure the > ioatdma stuff is shutdown after everything using it. The engines may be in use by multiple subsytems (net, raid) so coordinating shutdown ordering would indeed be a pain. -- Dan