mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
mm/dmapool.c: micro-optimisation remove unnecessary branch
Previously there was a check if 'size' is aligned to 'align' and if not then it was aligned. This check was expensive as both branch and division are expensive instructions in most architectures. 'ALIGN' function on already aligned value will not change it, and as it is cheaper than branch + division it can be executed all the time and branch can be removed. Signed-off-by: Mateusz Nosek <mateusznosek0@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Link: http://lkml.kernel.org/r/20200320173317.26408-1-mateusznosek0@gmail.com Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
1d90b64910
commit
1386f7a3bf
@ -144,9 +144,7 @@ struct dma_pool *dma_pool_create(const char *name, struct device *dev,
|
||||
else if (size < 4)
|
||||
size = 4;
|
||||
|
||||
if ((size % align) != 0)
|
||||
size = ALIGN(size, align);
|
||||
|
||||
size = ALIGN(size, align);
|
||||
allocation = max_t(size_t, size, PAGE_SIZE);
|
||||
|
||||
if (!boundary)
|
||||
|
Loading…
Reference in New Issue
Block a user