From: smoch@web.de (Soeren Moch)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2] mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls
Date: Wed, 23 Jan 2013 15:37:52 +0100 [thread overview]
Message-ID: <50FFF5C0.60000@web.de> (raw)
In-Reply-To: <201301221813.57741.arnd@arndb.de>
On 22.01.2013 19:13, Arnd Bergmann wrote:
> On Monday 21 January 2013, Greg KH wrote:
>>>
>>> I don't know a lot about USB, but I always assumed that this was not
>>> a normal condition and that there are only a couple of URBs per endpoint
>>> used at a time. Maybe Greg or someone else with a USB background can
>>> shed some light on this.
>>
>> There's no restriction on how many URBs a driver can have outstanding at
>> once, and if you have a system with a lot of USB devices running at the
>> same time, there could be lots of URBs in flight depending on the number
>> of host controllers and devices and drivers being used.
I only use one host controller and (in this test) two usb devices with
the same driver.
> Ok, thanks for clarifying that. I read some more of the em28xx driver,
> and while it does have a bunch of URBs in flight, there are only five
> audio and five video URBs that I see simultaneously being submitted,
> and then resubmitted from their completion handlers. I think this
> means that there should be 10 URBs active at any given time in this
> driver, which does not explain why we get 256 allocations.
I think the audio part of the em28xx bridge is not used in my DVB tests.
Are there other allocations from orion-ehci directly? Maybe something
special for isochronous transfers (since there is no problem with my
other dvb sticks using bulk transfers)?
> I also noticed that the initial submissions are all atomic but don't
> need to, so it may be worth trying the patch below, which should also
> help in low-memory situations. We could also try moving the resubmission
> into a workqueue in order to let those be GFP_KERNEL, but I don't think
> that will help.
I built a linux-3.7.4 with the em28xx patch and both of your dma-mapping.c
patches. I still see the
ERROR: 1024 KiB atomic DMA coherent pool is too small!
Soeren
WARNING: multiple messages have this Message-ID (diff)
From: Soeren Moch <smoch@web.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Greg KH <gregkh@linuxfoundation.org>,
Jason Cooper <jason@lakedaemon.net>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Andrew Lunn <andrew@lunn.ch>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-kernel@vger.kernel.org, Michal Hocko <mhocko@suse.cz>,
linux-mm@kvack.org, Kyungmin Park <kyungmin.park@samsung.com>,
Mel Gorman <mgorman@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
linaro-mm-sig@lists.linaro.org,
linux-arm-kernel@lists.infradead.org,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: Re: [PATCH v2] mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls
Date: Wed, 23 Jan 2013 15:37:52 +0100 [thread overview]
Message-ID: <50FFF5C0.60000@web.de> (raw)
In-Reply-To: <201301221813.57741.arnd@arndb.de>
On 22.01.2013 19:13, Arnd Bergmann wrote:
> On Monday 21 January 2013, Greg KH wrote:
>>>
>>> I don't know a lot about USB, but I always assumed that this was not
>>> a normal condition and that there are only a couple of URBs per endpoint
>>> used at a time. Maybe Greg or someone else with a USB background can
>>> shed some light on this.
>>
>> There's no restriction on how many URBs a driver can have outstanding at
>> once, and if you have a system with a lot of USB devices running at the
>> same time, there could be lots of URBs in flight depending on the number
>> of host controllers and devices and drivers being used.
I only use one host controller and (in this test) two usb devices with
the same driver.
> Ok, thanks for clarifying that. I read some more of the em28xx driver,
> and while it does have a bunch of URBs in flight, there are only five
> audio and five video URBs that I see simultaneously being submitted,
> and then resubmitted from their completion handlers. I think this
> means that there should be 10 URBs active at any given time in this
> driver, which does not explain why we get 256 allocations.
I think the audio part of the em28xx bridge is not used in my DVB tests.
Are there other allocations from orion-ehci directly? Maybe something
special for isochronous transfers (since there is no problem with my
other dvb sticks using bulk transfers)?
> I also noticed that the initial submissions are all atomic but don't
> need to, so it may be worth trying the patch below, which should also
> help in low-memory situations. We could also try moving the resubmission
> into a workqueue in order to let those be GFP_KERNEL, but I don't think
> that will help.
I built a linux-3.7.4 with the em28xx patch and both of your dma-mapping.c
patches. I still see the
ERROR: 1024 KiB atomic DMA coherent pool is too small!
Soeren
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Soeren Moch <smoch@web.de>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Greg KH <gregkh@linuxfoundation.org>,
Jason Cooper <jason@lakedaemon.net>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Andrew Lunn <andrew@lunn.ch>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-kernel@vger.kernel.org, Michal Hocko <mhocko@suse.cz>,
linux-mm@kvack.org, Kyungmin Park <kyungmin.park@samsung.com>,
Mel Gorman <mgorman@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
linaro-mm-sig@lists.linaro.org,
linux-arm-kernel@lists.infradead.org,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Subject: Re: [PATCH v2] mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls
Date: Wed, 23 Jan 2013 15:37:52 +0100 [thread overview]
Message-ID: <50FFF5C0.60000@web.de> (raw)
In-Reply-To: <201301221813.57741.arnd@arndb.de>
On 22.01.2013 19:13, Arnd Bergmann wrote:
> On Monday 21 January 2013, Greg KH wrote:
>>>
>>> I don't know a lot about USB, but I always assumed that this was not
>>> a normal condition and that there are only a couple of URBs per endpoint
>>> used at a time. Maybe Greg or someone else with a USB background can
>>> shed some light on this.
>>
>> There's no restriction on how many URBs a driver can have outstanding at
>> once, and if you have a system with a lot of USB devices running at the
>> same time, there could be lots of URBs in flight depending on the number
>> of host controllers and devices and drivers being used.
I only use one host controller and (in this test) two usb devices with
the same driver.
> Ok, thanks for clarifying that. I read some more of the em28xx driver,
> and while it does have a bunch of URBs in flight, there are only five
> audio and five video URBs that I see simultaneously being submitted,
> and then resubmitted from their completion handlers. I think this
> means that there should be 10 URBs active at any given time in this
> driver, which does not explain why we get 256 allocations.
I think the audio part of the em28xx bridge is not used in my DVB tests.
Are there other allocations from orion-ehci directly? Maybe something
special for isochronous transfers (since there is no problem with my
other dvb sticks using bulk transfers)?
> I also noticed that the initial submissions are all atomic but don't
> need to, so it may be worth trying the patch below, which should also
> help in low-memory situations. We could also try moving the resubmission
> into a workqueue in order to let those be GFP_KERNEL, but I don't think
> that will help.
I built a linux-3.7.4 with the em28xx patch and both of your dma-mapping.c
patches. I still see the
ERROR: 1024 KiB atomic DMA coherent pool is too small!
Soeren
next prev parent reply other threads:[~2013-01-23 14:37 UTC|newest]
Thread overview: 181+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-08 6:38 [PATCH] mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls Marek Szyprowski
2012-11-08 6:38 ` Marek Szyprowski
2012-11-08 6:38 ` Marek Szyprowski
2012-11-11 17:22 ` Andrew Lunn
2012-11-11 17:22 ` Andrew Lunn
2012-11-11 17:22 ` Andrew Lunn
2012-11-12 9:48 ` Soeren Moch
2012-11-12 9:48 ` Soeren Moch
2012-11-12 9:48 ` Soeren Moch
2012-11-12 10:38 ` Andrew Lunn
2012-11-12 10:38 ` Andrew Lunn
2012-11-12 10:38 ` Andrew Lunn
2012-11-12 11:03 ` Soeren Moch
2012-11-12 11:03 ` Soeren Moch
2012-11-12 11:03 ` Soeren Moch
2012-11-11 17:31 ` [PATCH] ARM: Orion: Remove redundent init_dma_coherent_pool_size() Andrew Lunn
2012-11-19 0:20 ` Jason Cooper
2013-04-17 20:38 ` Jason Cooper
2013-04-17 20:49 ` Gregory CLEMENT
2013-05-13 19:38 ` Jason Cooper
2012-11-19 0:18 ` [PATCH] mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls Jason Cooper
2012-11-19 0:18 ` Jason Cooper
2012-11-19 0:18 ` Jason Cooper
2012-11-19 22:48 ` Andrew Morton
2012-11-19 22:48 ` Andrew Morton
2012-11-19 22:48 ` Andrew Morton
2012-11-20 10:48 ` Marek Szyprowski
2012-11-20 10:48 ` Marek Szyprowski
2012-11-20 10:48 ` Marek Szyprowski
2012-11-20 19:52 ` Andrew Morton
2012-11-20 19:52 ` Andrew Morton
2012-11-20 19:52 ` Andrew Morton
2012-11-20 14:31 ` [PATCH v2] " Marek Szyprowski
2012-11-20 14:31 ` Marek Szyprowski
2012-11-20 14:31 ` Marek Szyprowski
2012-11-20 19:33 ` Andrew Morton
2012-11-20 19:33 ` Andrew Morton
2012-11-20 19:33 ` Andrew Morton
2012-11-20 20:27 ` Jason Cooper
2012-11-20 20:27 ` Jason Cooper
2012-11-20 20:27 ` Jason Cooper
2012-11-21 8:08 ` Marek Szyprowski
2012-11-21 8:08 ` Marek Szyprowski
2012-11-21 8:08 ` Marek Szyprowski
2012-11-21 8:36 ` Andrew Morton
2012-11-21 8:36 ` Andrew Morton
2012-11-21 8:36 ` Andrew Morton
2012-11-21 9:20 ` Marek Szyprowski
2012-11-21 9:20 ` Marek Szyprowski
2012-11-21 9:20 ` Marek Szyprowski
2012-11-21 19:17 ` Andrew Morton
2012-11-21 19:17 ` Andrew Morton
2012-11-21 19:17 ` Andrew Morton
2012-11-22 12:55 ` Marek Szyprowski
2012-11-22 12:55 ` Marek Szyprowski
2012-11-22 12:55 ` Marek Szyprowski
2013-01-14 11:56 ` Soeren Moch
2013-01-14 11:56 ` Soeren Moch
2013-01-14 11:56 ` Soeren Moch
2013-01-15 16:56 ` Jason Cooper
2013-01-15 16:56 ` Jason Cooper
2013-01-15 16:56 ` Jason Cooper
2013-01-15 17:50 ` Greg KH
2013-01-15 17:50 ` Greg KH
2013-01-15 17:50 ` Greg KH
2013-01-15 20:16 ` Jason Cooper
2013-01-15 20:16 ` Jason Cooper
2013-01-15 20:16 ` Jason Cooper
2013-01-15 21:56 ` Jason Cooper
2013-01-15 21:56 ` Jason Cooper
2013-01-15 21:56 ` Jason Cooper
2013-01-16 0:17 ` Soeren Moch
2013-01-16 0:17 ` Soeren Moch
2013-01-16 0:17 ` Soeren Moch
2013-01-16 2:40 ` Jason Cooper
2013-01-16 2:40 ` Jason Cooper
2013-01-16 2:40 ` Jason Cooper
2013-01-16 3:24 ` Soeren Moch
2013-01-16 3:24 ` Soeren Moch
2013-01-16 3:24 ` Soeren Moch
2013-01-16 8:55 ` Soeren Moch
2013-01-16 8:55 ` Soeren Moch
2013-01-16 8:55 ` Soeren Moch
2013-01-16 15:50 ` [PATCH] ata: sata_mv: fix sg_tbl_pool alignment Jason Cooper
2013-01-16 15:50 ` Jason Cooper
2013-01-16 15:50 ` Jason Cooper
2013-01-16 17:05 ` Soeren Moch
2013-01-16 17:05 ` Soeren Moch
2013-01-16 17:05 ` Soeren Moch
2013-01-16 17:52 ` Jason Cooper
2013-01-16 17:52 ` Jason Cooper
2013-01-16 17:52 ` Jason Cooper
2013-01-16 18:35 ` Jason Cooper
2013-01-16 18:35 ` Jason Cooper
2013-01-16 18:35 ` Jason Cooper
2013-01-16 22:26 ` Soeren Moch
2013-01-16 22:26 ` Soeren Moch
2013-01-16 22:26 ` Soeren Moch
2013-01-16 23:10 ` Soeren Moch
2013-01-16 23:10 ` Soeren Moch
2013-01-16 23:10 ` Soeren Moch
2013-01-17 9:11 ` Soeren Moch
2013-01-17 9:11 ` Soeren Moch
2013-01-17 9:11 ` Soeren Moch
2013-01-16 17:32 ` [PATCH v2] mm: dmapool: use provided gfp flags for all dma_alloc_coherent() calls Soeren Moch
2013-01-16 17:32 ` Soeren Moch
2013-01-16 17:32 ` Soeren Moch
2013-01-16 17:47 ` Jason Cooper
2013-01-16 17:47 ` Jason Cooper
2013-01-16 17:47 ` Jason Cooper
2013-01-16 22:36 ` Soeren Moch
2013-01-16 22:36 ` Soeren Moch
2013-01-16 22:36 ` Soeren Moch
2013-01-17 10:49 ` Arnd Bergmann
2013-01-17 10:49 ` Arnd Bergmann
2013-01-17 10:49 ` Arnd Bergmann
2013-01-17 13:47 ` Soeren Moch
2013-01-17 13:47 ` Soeren Moch
2013-01-17 13:47 ` Soeren Moch
2013-01-17 20:26 ` Arnd Bergmann
2013-01-17 20:26 ` Arnd Bergmann
2013-01-17 20:26 ` Arnd Bergmann
2013-01-19 15:29 ` Soeren Moch
2013-01-19 15:29 ` Soeren Moch
2013-01-19 18:59 ` Andrew Lunn
2013-01-19 18:59 ` Andrew Lunn
2013-01-19 18:59 ` Andrew Lunn
2013-01-23 15:30 ` Soeren Moch
2013-01-23 15:30 ` Soeren Moch
2013-01-23 15:30 ` Soeren Moch
2013-01-23 16:25 ` Andrew Lunn
2013-01-23 16:25 ` Andrew Lunn
2013-01-23 16:25 ` Andrew Lunn
2013-01-23 17:07 ` Soeren Moch
2013-01-23 17:07 ` Soeren Moch
2013-01-23 17:07 ` Soeren Moch
2013-01-23 17:20 ` Soeren Moch
2013-01-23 17:20 ` Soeren Moch
2013-01-23 17:20 ` Soeren Moch
2013-01-23 18:10 ` Andrew Lunn
2013-01-23 18:10 ` Andrew Lunn
2013-01-23 18:10 ` Andrew Lunn
2013-01-28 20:59 ` Soeren Moch
2013-01-28 20:59 ` Soeren Moch
2013-01-28 20:59 ` Soeren Moch
2013-01-29 0:13 ` Jason Cooper
2013-01-29 0:13 ` Jason Cooper
2013-01-29 0:13 ` Jason Cooper
2013-01-29 11:02 ` Andrew Lunn
2013-01-29 11:02 ` Andrew Lunn
2013-01-29 11:02 ` Andrew Lunn
2013-01-29 11:50 ` Soeren Moch
2013-01-29 11:50 ` Soeren Moch
2013-01-29 11:50 ` Soeren Moch
2013-01-19 20:05 ` Arnd Bergmann
2013-01-19 20:05 ` Arnd Bergmann
2013-01-19 20:05 ` Arnd Bergmann
2013-01-21 15:01 ` Soeren Moch
2013-01-21 15:01 ` Soeren Moch
2013-01-21 15:01 ` Soeren Moch
2013-01-21 18:55 ` Arnd Bergmann
2013-01-21 18:55 ` Arnd Bergmann
2013-01-21 18:55 ` Arnd Bergmann
2013-01-21 21:01 ` Greg KH
2013-01-21 21:01 ` Greg KH
2013-01-21 21:01 ` Greg KH
2013-01-22 18:13 ` Arnd Bergmann
2013-01-22 18:13 ` Arnd Bergmann
2013-01-22 18:13 ` Arnd Bergmann
2013-01-23 14:37 ` Soeren Moch [this message]
2013-01-23 14:37 ` Soeren Moch
2013-01-23 14:37 ` Soeren Moch
2013-01-19 16:24 ` Andrew Lunn
2013-01-19 16:24 ` Andrew Lunn
2013-01-19 16:24 ` Andrew Lunn
2013-01-15 20:05 ` Sebastian Hesselbarth
2013-01-15 20:05 ` Sebastian Hesselbarth
2013-01-15 20:05 ` Sebastian Hesselbarth
2013-01-15 20:19 ` Jason Cooper
2013-01-15 20:19 ` Jason Cooper
2013-01-15 20:19 ` Jason Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50FFF5C0.60000@web.de \
--to=smoch@web.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.