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>