You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2023/01/18 06:12:52 UTC
[nuttx] 01/06: mempool:remove unnecessary alignment
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit f00d56337fe246ae32b39524e32fd5e076ee7f0f
Author: anjiahao <an...@xiaomi.com>
AuthorDate: Thu Nov 24 11:28:09 2022 +0800
mempool:remove unnecessary alignment
Signed-off-by: anjiahao <an...@xiaomi.com>
---
include/nuttx/mm/mempool.h | 2 +-
mm/mempool/mempool.c | 33 ++++++++-------------------------
2 files changed, 9 insertions(+), 26 deletions(-)
diff --git a/include/nuttx/mm/mempool.h b/include/nuttx/mm/mempool.h
index 1d23d88b7b..22366157c3 100644
--- a/include/nuttx/mm/mempool.h
+++ b/include/nuttx/mm/mempool.h
@@ -39,7 +39,7 @@
struct mempool_s;
typedef CODE void *(*mempool_alloc_t)(FAR struct mempool_s *pool,
- size_t alignment, size_t size);
+ size_t size);
typedef CODE void (*mempool_free_t)(FAR struct mempool_s *pool,
FAR void *addr);
diff --git a/mm/mempool/mempool.c b/mm/mempool/mempool.c
index ee72c2b313..86add5fc07 100644
--- a/mm/mempool/mempool.c
+++ b/mm/mempool/mempool.c
@@ -73,19 +73,15 @@ static inline void mempool_add_list(FAR struct list_node *list,
}
static inline FAR void *mempool_malloc(FAR struct mempool_s *pool,
- size_t alignment, size_t size)
+ size_t size)
{
if (pool->alloc != NULL)
{
- return pool->alloc(pool, alignment, size);
- }
- else if (alignment == 0)
- {
- return kmm_malloc(size);
+ return pool->alloc(pool, size);
}
else
{
- return kmm_memalign(alignment, size);
+ return kmm_malloc(size);
}
}
@@ -152,7 +148,6 @@ int mempool_init(FAR struct mempool_s *pool, FAR const char *name)
#else
size_t blocksize = pool->blocksize;
#endif
- size_t alignment = 0;
size_t ninterrupt;
size_t ninitial;
size_t count;
@@ -168,12 +163,7 @@ int mempool_init(FAR struct mempool_s *pool, FAR const char *name)
list_initialize(&pool->alist);
#endif
- if ((pool->blocksize & (pool->blocksize - 1)) == 0)
- {
- alignment = pool->blocksize;
- blocksize = ALIGN_UP(blocksize, alignment);
- }
-
+ blocksize = ALIGN_UP(blocksize, pool->blocksize);
ninitial = pool->initialsize / blocksize;
ninterrupt = pool->interruptsize / blocksize;
count = ninitial + ninterrupt;
@@ -181,8 +171,8 @@ int mempool_init(FAR struct mempool_s *pool, FAR const char *name)
{
FAR char *base;
- base = mempool_malloc(pool, alignment,
- blocksize * count + sizeof(struct list_node));
+ base = mempool_malloc(pool, blocksize * count +
+ sizeof(struct list_node));
if (base == NULL)
{
return -ENOMEM;
@@ -257,18 +247,11 @@ retry:
#else
size_t blocksize = pool->blocksize;
#endif
- size_t alignment = 0;
size_t nexpand;
- if ((pool->blocksize & (pool->blocksize - 1)) == 0)
- {
- alignment = pool->blocksize;
- blocksize = ALIGN_UP(blocksize, alignment);
- }
-
+ blocksize = ALIGN_UP(blocksize, pool->blocksize);
nexpand = pool->expandsize / blocksize;
- blk = mempool_malloc(pool, alignment,
- blocksize * nexpand + sizeof(*blk));
+ blk = mempool_malloc(pool, blocksize * nexpand + sizeof(*blk));
if (blk == NULL)
{
return NULL;