Hibernation, Intel I/OAT and defective dma_v3.c

With opensuse 13.1, my computer could not hibernate. Could with 12.3.

After long debugging attempts, I saw a message about kernel bug in file
/usr/src/linux-3.11.6-4/drivers/dma/ioat/dma_v3.c, line 768.

The author and copyright holder of the file might be Intel. It is interesting that in the directory /usr/src/linux-3.11.6-4/drivers/dma/ioat/, a few previous versions of the file are present. But I don’t know how to activate them instead of v3.

Switching to kernel 3.12.5 did not help.

ioat stands for I/OAT = Intel’s input-output acceleration technology = some sort of hardware DMA engine which unloads the CPU. It is used in high-end server motherboards, according to Wikipedia. However, my motherboard, which is not high-end, had a setting about I/OAT. So I disabled it, and hibernation worked! (But haven’t tested thoroughly.)

There is no effect on computer’s working speed that I can see. An article states that actual investigations show a small effect only in high-speed network operations.

Thanks for sharing, nice you’ve got it solved. IIRC you created another thread, please add your findings there too.

On 2013-12-16 12:56, ZStefan wrote:
>
> With opensuse 13.1, my computer could not hibernate. Could with 12.3.
>
> After long debugging attempts, I saw a message about kernel bug in file
> /usr/src/linux-3.11.6-4/drivers/dma/ioat/dma_v3.c, line 768.

Please report in bugzilla.

openSUSE:Submitting bug
reports


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

Reported on bugzilla, # 855713.