arm: mvebu: increase atomic coherent pool size for armada 370/XP
resent as plain text, sorry.
Quoted 5 lines
For Armada 370/XP we have the same problem that for the commit cb01b63, so we applied the same solution: "The default 256 KiB coherent pool may be too small for some of the Kirkwood devices, so increase it to make sure that devices will be able to allocate their buffers with
GFP_ATOMICflag"
I see a regression from linux-3.5 to linux-3.6 and think there might be a fundamental problem
with this patch. On my Kirkwood system (guruplug server plus) with linux-3.6.2 I see following
errors and corresponding malfunction even with further increased (2M, 4M) pool size:
Oct 19 00:41:22 guru kernel: ERROR: 4096 KiB atomic DMA coherent pool is too small! Oct 19 00:41:22 guru kernel: Please increase it with coherent_pool=
kernel parameter!
So I had to downgrade to linux-3.5 which is running without problems.
I use SATA and several DVB sticks (em28xx / drxk and dib0700).
I already sent this bug report to m.szyprowski and gregory.clementearlier, but
Sebastian suggested to send it to the mailing list and the responsible maintainers, too.
Please write to my e-mail directly if you have further questions or patches for me to test.
Regards,
Soeren
Quoted 16 lines · S?ren Moch
resent as plain text, sorry.
Quoted 5 lines
For Armada 370/XP we have the same problem that for the commit cb01b63, so we applied the same solution: "The default 256 KiB coherent pool may be too small for some of the Kirkwood devices, so increase it to make sure that devices will be able to allocate their buffers with
GFP_ATOMICflag"I see a regression from linux-3.5 to linux-3.6 and think there might be a fundamental problem
with this patch. On my Kirkwood system (guruplug server plus) with linux-3.6.2 I see following
errors and corresponding malfunction even with further increased (2M, 4M) pool size:
Quoted 8 lines
Oct 19 00:41:22 guru kernel: ERROR: 4096 KiB atomic DMA coherent pool is too small! Oct 19 00:41:22 guru kernel: Please increase it with coherent_pool=kernel parameter!
So I had to downgrade to linux-3.5 which is running without problems.
I use SATA and several DVB sticks (em28xx / drxk and dib0700).
I'm guess its the DVB sticks which are causing the problems. We have a number of kirkwood devices with two SATA devices which had problems until we extended the coherent_pool. The DVB sticks are probably take more coherent RAM. There was also an issue found recently:
http://www.spinics.net/lists/arm-kernel/msg203962.html
That conversation has gone quiet, but that could be because the participants are at ELCE.
Andrew
Quoted 22 lines · Andrew Lunn
Quoted 7 lines · S?ren Moch
I see a regression from linux-3.5 to linux-3.6 and think there might be a fundamental problem
with this patch. On my Kirkwood system (guruplug server plus) with linux-3.6.2 I see following
errors and corresponding malfunction even with further increased (2M, 4M) pool size:Quoted 8 lines
Oct 19 00:41:22 guru kernel: ERROR: 4096 KiB atomic DMA coherent pool is too small! Oct 19 00:41:22 guru kernel: Please increase it with coherent_pool=kernel parameter!
So I had to downgrade to linux-3.5 which is running without problems.
I use SATA and several DVB sticks (em28xx / drxk and dib0700).
I'm guess its the DVB sticks which are causing the problems. We have a number of kirkwood devices with two SATA devices which had problems until we extended the
coherent_pool. The DVB sticks are probably take more coherent RAM. There was also an issue found recently:
Quoted 4 lines
http://www.spinics.net/lists/arm-kernel/msg203962.html
That conversation has gone quiet, but that could be because the participants are at ELCE.
So what is the call here? Should we just increase the coherent buffer size back to what it was before? I am not into this too much but just increasing the buffer will just postpone the actual issue to a later point in running the kernel?
Sebastian
Quoted 28 lines
Quoted 14 lines
Quoted 6 lines
For Armada 370/XP we have the same problem that for the commit cb01b63, so we applied the same solution: "The default 256 KiB coherent pool may be too small for some of the Kirkwood devices, so increase it to make sure that devices will be able to allocate their buffers with
GFP_ATOMICflag"I see a regression from linux-3.5 to linux-3.6 and think there might be a fundamental problem
with this patch. On my Kirkwood system (guruplug server plus) with linux-3.6.2 I see following
errors and corresponding malfunction even with further increased (2M, 4M) pool size:Quoted 8 lines
Oct 19 00:41:22 guru kernel: ERROR: 4096 KiB atomic DMA coherent pool is too small! Oct 19 00:41:22 guru kernel: Please increase it with coherent_pool=kernel parameter!
So I had to downgrade to linux-3.5 which is running without problems.
I use SATA and several DVB sticks (em28xx / drxk and dib0700).
I'm guess its the DVB sticks which are causing the problems. We have a number of kirkwood devices with two SATA devices which had problems until we extended the
coherent_pool. The DVB sticks are probably take more coherent RAM. There was also an issue found recently:
Quoted 6 lines
http://www.spinics.net/lists/arm-kernel/msg203962.html
That conversation has gone quiet, but that could be because the participants are at ELCE.
Andrew
OK, I hope this GFP flag correction will help.
Could there be a fragmentation problem in the coherent_pool with the different drivers running under heavy load?
With a pool size of 1M I see this error after several minutes, with a 4M pool I see this error after several 10 minutes. Difficult to test, but not acceptable on a production system.
Soeren