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
1 changed files with 1 additions and 3 deletions
|
@ -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 a new issue