Re: [PATCH v2 2/3] CMA: aggressively allocate the pages on cma reserved memory when not used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm not sure what I'm doing wrong.
These are my code.

 770 #ifdef CONFIG_CMA
 771 void adjust_managed_cma_page_count(struct zone *zone, long count)
 772 {
 773         unsigned long flags;
 774         long total, cma, movable;
 775
 776         spin_lock_irqsave(&zone->lock, flags);
 777
 778         zone->managed_cma_pages += count;
 779
 780         total = zone->managed_pages;
 781         cma = zone->managed_cma_pages;
 782         movable = total - cma - high_wmark_pages(zone);
 783
 784         printk("count=%ld total=%ld cma=%ld movable=%ld\n",
 785                count, total, cma, movable);
 786


2014-06-02 오후 3:23, Joonsoo Kim 쓴 글:
On Mon, Jun 02, 2014 at 02:54:30PM +0900, Gioh Kim wrote:
I found 2 problems at my platform.

1st is occured when I set CMA size 528MB and total memory is 960MB.
I print some values in adjust_managed_cma_page_count(),
the total value becomes 105439 and cma value 131072.
Finally movable value becomes negative value.

The total value 105439 means 411MB.
Is the zone->managed_pages value pages amount except the CMA?
I think zone->managed_pages value is including CMA size but it's value is strange.

Hmm...
zone->managed_pages includes nr of CMA pages.
Is there any mistake about your printk?


2nd is a kernel panic at __netdev_alloc_skb().
I'm not sure it is caused by the CMA.
I'm checking it again and going to send you another report with detail call-stacks.

Okay.

Thanks.



--
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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]