Stefan, Andrew, I ended up cherry-picking and older patch here by mistake. Joonsoo pointed it out but I didn't have time to address it yet since I'm travelling and they got pulled in to mmotm in the meanwhile. I'll send out patches to add documentation and fix the issues raised here early next week. Sorry for the delay and the noise. Thanks, Sasha On 02/19/2015 12:38 PM, Stefan Strogin wrote: > Hi, > > On 13/02/15 01:26, Sasha Levin wrote: >> Provides a userspace interface to trigger a CMA allocation. >> >> Usage: >> >> echo [pages] > alloc >> >> This would provide testing/fuzzing access to the CMA allocation paths. >> >> Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> >> --- >> mm/cma.c | 6 ++++++ >> mm/cma.h | 4 ++++ >> mm/cma_debug.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- >> 3 files changed, 64 insertions(+), 2 deletions(-) >> >> diff --git a/mm/cma_debug.c b/mm/cma_debug.c >> index 3a25413..5bd6863 100644 >> --- a/mm/cma_debug.c >> +++ b/mm/cma_debug.c >> @@ -23,8 +32,48 @@ static int cma_debugfs_get(void *data, u64 *val) >> >> DEFINE_SIMPLE_ATTRIBUTE(cma_debugfs_fops, cma_debugfs_get, NULL, "%llu\n"); >> >> -static void cma_debugfs_add_one(struct cma *cma, int idx) >> +static void cma_add_to_cma_mem_list(struct cma *cma, struct cma_mem *mem) >> +{ >> + spin_lock(&cma->mem_head_lock); >> + hlist_add_head(&mem->node, &cma->mem_head); >> + spin_unlock(&cma->mem_head_lock); >> +} >> + >> +static int cma_alloc_mem(struct cma *cma, int count) >> +{ >> + struct cma_mem *mem; >> + struct page *p; >> + >> + mem = kzalloc(sizeof(*mem), GFP_KERNEL); >> + if (!mem) >> + return -ENOMEM; >> + >> + p = cma_alloc(cma, count, CONFIG_CMA_ALIGNMENT); > > If CONFIG_DMA_CMA (and therefore CONFIG_CMA_ALIGNMENT) isn't configured > then building fails. >> mm/cma_debug.c: In function ‘cma_alloc_mem’: >> mm/cma_debug.c:223:28: error: ‘CONFIG_CMA_ALIGNMENT’ undeclared (first use in this function) >> p = cma_alloc(cma, count, CONFIG_CMA_ALIGNMENT); >> ^ > > Also, could you please fix the whitespace errors in your patches? > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>