diff options
author | Eric Dumazet <edumazet@google.com> | 2019-10-28 14:56:46 -0700 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2019-10-30 11:09:35 -0700 |
commit | 9ff6aa027dbb98755f0265695354f2dd07c0d1ce (patch) | |
tree | d6bb4e4288065583d14c1f16aaaeb4943c35e492 /kernel | |
parent | 4544b9f25e70eae9f70a243de0cc802aa5c8cb69 (diff) | |
download | linux-9ff6aa027dbb98755f0265695354f2dd07c0d1ce.tar.gz linux-9ff6aa027dbb98755f0265695354f2dd07c0d1ce.tar.bz2 linux-9ff6aa027dbb98755f0265695354f2dd07c0d1ce.zip |
dma-debug: add a schedule point in debug_dma_dump_mappings()
debug_dma_dump_mappings() can take a lot of cpu cycles :
lpk43:/# time wc -l /sys/kernel/debug/dma-api/dump
163435 /sys/kernel/debug/dma-api/dump
real 0m0.463s
user 0m0.003s
sys 0m0.459s
Let's add a cond_resched() to avoid holding cpu for too long.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Corentin Labbe <clabbe@baylibre.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/dma/debug.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c index 099002d84f46..4ad74f5987ea 100644 --- a/kernel/dma/debug.c +++ b/kernel/dma/debug.c @@ -420,6 +420,7 @@ void debug_dma_dump_mappings(struct device *dev) } spin_unlock_irqrestore(&bucket->lock, flags); + cond_resched(); } } |