* [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP @ 2012-11-06 21:28 ` Sören Moch 0 siblings, 0 replies; 10+ messages in thread From: Sören Moch @ 2012-11-06 21:28 UTC (permalink / raw) To: linux-arm-kernel resent as plain text, sorry. > 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_ATOMIC flag" 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP @ 2012-11-06 21:28 ` Sören Moch 0 siblings, 0 replies; 10+ messages in thread From: Sören Moch @ 2012-11-06 21:28 UTC (permalink / raw) To: Lior Amsalem, Andrew Lunn, Thomas Petazzoni, Ian Molton, Jason Cooper, linux-arm-kernel, linux-kernel, linux Cc: Sebastian Hesselbarth, Gregory Clement, m.szyprowski resent as plain text, sorry. > 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_ATOMIC flag" 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP 2012-11-06 21:28 ` Sören Moch @ 2012-11-06 22:32 ` Andrew Lunn -1 siblings, 0 replies; 10+ messages in thread From: Andrew Lunn @ 2012-11-06 22:32 UTC (permalink / raw) To: linux-arm-kernel On Tue, Nov 06, 2012 at 10:28:45PM +0100, S?ren Moch wrote: > resent as plain text, sorry. > > > > 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_ATOMIC flag" > > 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'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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP @ 2012-11-06 22:32 ` Andrew Lunn 0 siblings, 0 replies; 10+ messages in thread From: Andrew Lunn @ 2012-11-06 22:32 UTC (permalink / raw) To: S?ren Moch Cc: Lior Amsalem, Andrew Lunn, Thomas Petazzoni, Ian Molton, Jason Cooper, linux-arm-kernel, linux-kernel, linux, Sebastian Hesselbarth, Gregory Clement, m.szyprowski On Tue, Nov 06, 2012 at 10:28:45PM +0100, S?ren Moch wrote: > resent as plain text, sorry. > > > > 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_ATOMIC flag" > > 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'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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP 2012-11-06 22:32 ` Andrew Lunn @ 2012-11-06 22:55 ` Sebastian Hesselbarth -1 siblings, 0 replies; 10+ messages in thread From: Sebastian Hesselbarth @ 2012-11-06 22:55 UTC (permalink / raw) To: linux-arm-kernel On 11/06/2012 11:32 PM, Andrew Lunn wrote: > On Tue, Nov 06, 2012 at 10:28:45PM +0100, S?ren Moch wrote: >> 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'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. 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP @ 2012-11-06 22:55 ` Sebastian Hesselbarth 0 siblings, 0 replies; 10+ messages in thread From: Sebastian Hesselbarth @ 2012-11-06 22:55 UTC (permalink / raw) To: Andrew Lunn Cc: S?ren Moch, Lior Amsalem, Thomas Petazzoni, Ian Molton, Jason Cooper, linux-arm-kernel, linux-kernel, linux, Gregory Clement, m.szyprowski On 11/06/2012 11:32 PM, Andrew Lunn wrote: > On Tue, Nov 06, 2012 at 10:28:45PM +0100, S?ren Moch wrote: >> 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'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. 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP 2012-11-06 22:32 ` Andrew Lunn @ 2012-11-06 23:07 ` Sören Moch -1 siblings, 0 replies; 10+ messages in thread From: Sören Moch @ 2012-11-06 23:07 UTC (permalink / raw) To: linux-arm-kernel >>> 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_ATOMIC flag" >> >> 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'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 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP @ 2012-11-06 23:07 ` Sören Moch 0 siblings, 0 replies; 10+ messages in thread From: Sören Moch @ 2012-11-06 23:07 UTC (permalink / raw) To: Andrew Lunn Cc: Lior Amsalem, Thomas Petazzoni, Ian Molton, Jason Cooper, linux-arm-kernel, linux-kernel, linux, Sebastian Hesselbarth, Gregory Clement, m.szyprowski >>> 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_ATOMIC flag" >> >> 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'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 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH V2 0/4] Adding SATA support for Armada 370/XP @ 2012-10-26 12:30 Gregory CLEMENT 2012-10-26 12:30 ` Gregory CLEMENT 0 siblings, 1 reply; 10+ messages in thread From: Gregory CLEMENT @ 2012-10-26 12:30 UTC (permalink / raw) To: linux-arm-kernel Hello, this patch set adds the SATA support for Armada 370 and Armada XP. Few changes have been done since the first version by taking in account the comments received for the first version. The evaluation boards for Armada 370 and Armada XP come with 2 SATA ports, and when both are enable the coherent pool for DMA mapping was too short. It was exactly the same issue that was fixed for Kirkwood two months ago. So I used the same fix in the first patch. Later when Kirkwood will be part of mach-mvebu, then this fix will be shared between the 2 SoCs families. This patch set is based on 3.7-rc2 and depends one the framework clock support (the last version was posted last week: http://thread.gmane.org/gmane.linux.kernel/1375701). The git branch called mvebu-SATA-for-3.8 is also available at https://github.com/MISL-EBU-System-SW/mainline-public.git. Changelog: V1 -> V2: - Added the acked-by from Marek Szyprowski for the first patch. - Moved the port number from dtsi to board file t o be coherent with Kirwkood boards. - Cleaned armada-370-xp.dtsi from test strings. - Split the second patch in 3 part one for dts, one for config update, and the last for dtsi. - Updated the mvebu_defconfig file with only the necessary symbols. - Updated also the multi_v7_defconfig file. Regards, Gregory Gregory CLEMENT (4): arm: mvebu: increase atomic coherent pool size for armada 370/XP arm: mvebu: adding SATA support: dt binding for Armada 370/XP arm: mvebu: adding SATA support: configs update arm: mvebu: adding SATA support: dt binding for Armada 370/XP boards arch/arm/boot/dts/armada-370-db.dts | 4 ++++ arch/arm/boot/dts/armada-370-xp.dtsi | 9 +++++++++ arch/arm/boot/dts/armada-xp-db.dts | 4 ++++ arch/arm/configs/multi_v7_defconfig | 2 ++ arch/arm/configs/mvebu_defconfig | 3 +++ arch/arm/mach-mvebu/armada-370-xp.c | 12 ++++++++++++ 6 files changed, 34 insertions(+) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP 2012-10-26 12:30 [PATCH V2 0/4] Adding SATA support for Armada 370/XP Gregory CLEMENT @ 2012-10-26 12:30 ` Gregory CLEMENT 0 siblings, 0 replies; 10+ messages in thread From: Gregory CLEMENT @ 2012-10-26 12:30 UTC (permalink / raw) To: linux-arm-kernel 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_ATOMIC flag" Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> --- arch/arm/mach-mvebu/armada-370-xp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c index 2af6ce5..cbad821 100644 --- a/arch/arm/mach-mvebu/armada-370-xp.c +++ b/arch/arm/mach-mvebu/armada-370-xp.c @@ -17,6 +17,7 @@ #include <linux/of_platform.h> #include <linux/io.h> #include <linux/time-armada-370-xp.h> +#include <linux/dma-mapping.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <asm/mach/time.h> @@ -43,6 +44,16 @@ void __init armada_370_xp_timer_and_clk_init(void) armada_370_xp_timer_init(); } +void __init armada_370_xp_init_early(void) +{ + /* + * Some Armada 370/XP devices allocate their coherent buffers + * from atomic context. Increase size of atomic coherent pool + * to make sure such the allocations won't fail. + */ + init_dma_coherent_pool_size(SZ_1M); +} + struct sys_timer armada_370_xp_timer = { .init = armada_370_xp_timer_and_clk_init, }; @@ -61,6 +72,7 @@ static const char * const armada_370_xp_dt_board_dt_compat[] = { DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)") .init_machine = armada_370_xp_dt_init, .map_io = armada_370_xp_map_io, + .init_early = armada_370_xp_init_early, .init_irq = armada_370_xp_init_irq, .handle_irq = armada_370_xp_handle_irq, .timer = &armada_370_xp_timer, -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP @ 2012-10-26 12:30 ` Gregory CLEMENT 0 siblings, 0 replies; 10+ messages in thread From: Gregory CLEMENT @ 2012-10-26 12:30 UTC (permalink / raw) To: Jason Cooper, Andrew Lunn, Gregory Clement Cc: linux-arm-kernel, Arnd Bergmann, Olof Johansson, Ben Dooks, Ian Molton, Nicolas Pitre, Lior Amsalem, Maen Suleiman, Tawfik Bayouk, Shadi Ammouri, Eran Ben-Avi, Yehuda Yitschak, Nadav Haklai, Ike Pan, Jani Monoses, Chris Van Hoof, Dan Frazier, Thomas Petazzoni, Leif Lindholm, Jon Masters, David Marlin, Sebastian Hesselbarth, linux-kernel 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_ATOMIC flag" Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> --- arch/arm/mach-mvebu/armada-370-xp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c index 2af6ce5..cbad821 100644 --- a/arch/arm/mach-mvebu/armada-370-xp.c +++ b/arch/arm/mach-mvebu/armada-370-xp.c @@ -17,6 +17,7 @@ #include <linux/of_platform.h> #include <linux/io.h> #include <linux/time-armada-370-xp.h> +#include <linux/dma-mapping.h> #include <asm/mach/arch.h> #include <asm/mach/map.h> #include <asm/mach/time.h> @@ -43,6 +44,16 @@ void __init armada_370_xp_timer_and_clk_init(void) armada_370_xp_timer_init(); } +void __init armada_370_xp_init_early(void) +{ + /* + * Some Armada 370/XP devices allocate their coherent buffers + * from atomic context. Increase size of atomic coherent pool + * to make sure such the allocations won't fail. + */ + init_dma_coherent_pool_size(SZ_1M); +} + struct sys_timer armada_370_xp_timer = { .init = armada_370_xp_timer_and_clk_init, }; @@ -61,6 +72,7 @@ static const char * const armada_370_xp_dt_board_dt_compat[] = { DT_MACHINE_START(ARMADA_XP_DT, "Marvell Aramada 370/XP (Device Tree)") .init_machine = armada_370_xp_dt_init, .map_io = armada_370_xp_map_io, + .init_early = armada_370_xp_init_early, .init_irq = armada_370_xp_init_irq, .handle_irq = armada_370_xp_handle_irq, .timer = &armada_370_xp_timer, -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-11-06 23:07 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-11-06 21:28 [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP Sören Moch 2012-11-06 21:28 ` Sören Moch 2012-11-06 22:32 ` Andrew Lunn 2012-11-06 22:32 ` Andrew Lunn 2012-11-06 22:55 ` Sebastian Hesselbarth 2012-11-06 22:55 ` Sebastian Hesselbarth 2012-11-06 23:07 ` Sören Moch 2012-11-06 23:07 ` Sören Moch -- strict thread matches above, loose matches on Subject: below -- 2012-10-26 12:30 [PATCH V2 0/4] Adding SATA support for Armada 370/XP Gregory CLEMENT 2012-10-26 12:30 ` [PATCH V2 1/4] arm: mvebu: increase atomic coherent pool size for armada 370/XP Gregory CLEMENT 2012-10-26 12:30 ` Gregory CLEMENT
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.