From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757623AbbCPRvc (ORCPT ); Mon, 16 Mar 2015 13:51:32 -0400 Received: from mail-wi0-f173.google.com ([209.85.212.173]:37378 "EHLO mail-wi0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754386AbbCPRvP convert rfc822-to-8bit (ORCPT ); Mon, 16 Mar 2015 13:51:15 -0400 From: Michal Nazarewicz To: Stefan Strogin , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Stefan Strogin , Joonsoo Kim , Andrew Morton , Marek Szyprowski , aneesh.kumar@linux.vnet.ibm.com, Laurent Pinchart , Dmitry Safonov , Pintu Kumar , Weijie Yang , Laura Abbott , SeongJae Park , Hui Zhu , Minchan Kim , Dyasly Sergey , Vyacheslav Tyrtov , Aleksei Mateosian , gregory.0xf0@gmail.com, sasha.levin@oracle.com, gioh.kim@lge.com, pavel@ucw.cz, stefan.strogin@gmail.com Subject: Re: [PATCH v4 4/5] mm: cma: add list of currently allocated CMA buffers to debugfs In-Reply-To: <857357c314922e0d6f1d963ab74e5e4de5635799.1426521377.git.s.strogin@partner.samsung.com> Organization: http://mina86.com/ References: <857357c314922e0d6f1d963ab74e5e4de5635799.1426521377.git.s.strogin@partner.samsung.com> User-Agent: Notmuch/0.19+53~g2e63a09 (http://notmuchmail.org) Emacs/25.0.50.1 (x86_64-unknown-linux-gnu) X-Face: PbkBB1w#)bOqd`iCe"Ds{e+!C7`pkC9a|f)Qo^BMQvy\q5x3?vDQJeN(DS?|-^$uMti[3D*#^_Ts"pU$jBQLq~Ud6iNwAw_r_o_4]|JO?]}P_}Nc&"p#D(ZgUb4uCNPe7~a[DbPG0T~!&c.y$Ur,=N4RT>]dNpd;KFrfMCylc}gc??'U2j,!8%xdD Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWbfGlUPDDHgE57V0jUupKjgIObY0PLrom9mH4dFRK4gmjPs41MxjOgAAACQElEQVQ4jW3TMWvbQBQHcBk1xE6WyALX1069oZBMlq+ouUwpEQQ6uRjttkWP4CmBgGM0BQLBdPFZYPsyFUo6uEtKDQ7oy/U96XR2Ux8ehH/89Z6enqxBcS7Lg81jmSuujrfCZcLI/TYYvbGj+jbgFpHJ/bqQAUISj8iLyu4LuFHJTosxsucO4jSDNE0Hq3hwK/ceQ5sx97b8LcUDsILfk+ovHkOIsMbBfg43VuQ5Ln9YAGCkUdKJoXR9EclFBhixy3EGVz1K6eEkhxCAkeMMnqoAhAKwhoUJkDrCqvbecaYINlFKSRS1i12VKH1XpUd4qxL876EkMcDvHj3s5RBajHHMlA5iK32e0C7VgG0RlzFPvoYHZLRmAC0BmNcBruhkE0KsMsbEc62ZwUJDxWUdMsMhVqovoT96i/DnX/ASvz/6hbCabELLk/6FF/8PNpPCGqcZTGFcBhhAaZZDbQPaAB3+KrWWy2XgbYDNIinkdWAFcCpraDE/knwe5DBqGmgzESl1p2E4MWAz0VUPgYYzmfWb9yS4vCvgsxJriNTHoIBz5YteBvg+VGISQWUqhMiByPIPpygeDBE6elD973xWwKkEiHZAHKjhuPsFnBuArrzxtakRcISv+XMIPl4aGBUJm8Emk7qBYU8IlgNEIpiJhk/No24jHwkKTFHDWfPniR4iw5vJaw2nzSjfq2zffcE/GDjRC2dn0J0XwPAbDL84TvaFCJEU4Oml9pRyEUhR3Cl2t01AoEjRbs0sYugp14/4X5n4pU4EHHnMAAAAAElFTkSuQmCC X-PGP: 50751FF4 X-PGP-FP: AC1F 5F5C D418 88F8 CC84 5858 2060 4012 5075 1FF4 X-Hashcash: 1:20:150316:lauraa@codeaurora.org::vi05UreGBnDgbUeE:00000000000000000000000000000000000000000Jj/ X-Hashcash: 1:20:150316:linux-mm@kvack.org::X4cntuvvTjZnTNuS:00000000000000000000000000000000000000000000Ik0 X-Hashcash: 1:20:150316:gioh.kim@lge.com::taoMu9B0Z8AEg65o:01Ekh X-Hashcash: 1:20:150316:a.mateosian@samsung.com::p0+LusKeTC9+3EiY:000000000000000000000000000000000000000thz X-Hashcash: 1:20:150316:minchan@kernel.org::VMi2zzd97fMy/Auq:00000000000000000000000000000000000000000001P5r X-Hashcash: 1:20:150316:d.safonov@partner.samsung.com::77DEA/E9BawU7jmW:000000000000000000000000000000001gbb X-Hashcash: 1:20:150316:iamjoonsoo.kim@lge.com::JuvP2hGj8Y0Oj6wf:0000000000000000000000000000000000000001fiz X-Hashcash: 1:20:150316:zhuhui@xiaomi.com::yjyH+dgEkE+rtUX/:000000000000000000000000000000000000000000001rE3 X-Hashcash: 1:20:150316:s.strogin@partner.samsung.com::m37eKNfFhqTooZJW:000000000000000000000000000000002NzL X-Hashcash: 1:20:150316:pavel@ucw.cz::ZRJb1WtI/WCY57Ly:000001uvN X-Hashcash: 1:20:150316:gregory.0xf0@gmail.com::RdgnuTRmA/OrAn0g:0000000000000000000000000000000000000001mJ3 X-Hashcash: 1:20:150316:s.dyasly@samsung.com::Rc0Q5srKxdfoMh5T:000000000000000000000000000000000000000001sz/ X-Hashcash: 1:20:150316:akpm@linux-foundation.org::BPYms2XAJLEaGR67:0000000000000000000000000000000000002Glx X-Hashcash: 1:20:150316:s.strogin@partner.samsung.com::ALfD0+VM4qng+csC:000000000000000000000000000000003GHh X-Hashcash: 1:20:150316:sj38.park@gmail.com::kFlpcO1P1yI1JZED:00000000000000000000000000000000000000000032Mw X-Hashcash: 1:20:150316:aneesh.kumar@linux.vnet.ibm.com::ecEVWVucGtYXkmNI:0000000000000000000000000000002mEV X-Hashcash: 1:20:150316:sasha.levin@oracle.com::vl/EJlJ2pOSkA7Rl:0000000000000000000000000000000000000003U7w X-Hashcash: 1:20:150316:v.tyrtov@samsung.com::i2lfCwQzrxRCzou7:000000000000000000000000000000000000000003Xv1 X-Hashcash: 1:20:150316:weijie.yang@samsung.com::T5qefKgCp/K+CPvf:000000000000000000000000000000000000004B8T X-Hashcash: 1:20:150316:stefan.strogin@gmail.com::4CyYLq41TpBgRIRL:00000000000000000000000000000000000004MOX X-Hashcash: 1:20:150316:linux-kernel@vger.kernel.org::WaTTfzNoLCWD2Nti:0000000000000000000000000000000005zh7 X-Hashcash: 1:20:150316:laurent.pinchart@ideasonboard.com::02ocT45EaoyLzL66:00000000000000000000000000008klV X-Hashcash: 1:20:150316:m.szyprowski@samsung.com::5ckD3AuGykFo1qi+:00000000000000000000000000000000000008Mbj X-Hashcash: 1:20:150316:pintu.k@samsung.com::mu2E1m0YJ4xH0fkx:000000000000000000000000000000000000000000DgfQ Date: Mon, 16 Mar 2015 18:51:10 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 16 2015, Stefan Strogin wrote: > When CONFIG_CMA_BUFFER_LIST is configured a file is added to debugfs: > /sys/kernel/debug/cma/cma-/buffers contains a list of currently allocated > CMA buffers for each CMA region (N stands for number of CMA region). > > Format is: > - ( kB), allocated by () > > When CONFIG_CMA_ALLOC_STACKTRACE is configured then stack traces are saved when > the allocations are made. The stack traces are added to cma/cma-/buffers > for each buffer list entry. > > Example: > > root@debian:/sys/kernel/debug/cma# cat cma-0/buffers > 0x2f400000 - 0x2f417000 (92 kB), allocated by pid 1 (swapper/0) > [] cma_alloc+0x1bb/0x200 > [] dma_alloc_from_contiguous+0x3a/0x40 > [] dma_generic_alloc_coherent+0x89/0x160 > [] dmam_alloc_coherent+0xbe/0x100 > [] ahci_port_start+0xe2/0x210 > [] ata_host_start.part.28+0xc0/0x1a0 > [] ata_host_activate+0xd0/0x110 > [] ahci_host_activate+0x3f/0x170 > [] ahci_init_one+0x764/0xab0 > [] pci_device_probe+0x6f/0xd0 > [] driver_probe_device+0x68/0x210 > [] __driver_attach+0x79/0x80 > [] bus_for_each_dev+0x4f/0x80 > [] driver_attach+0x1e/0x20 > [] bus_add_driver+0x157/0x200 > [] driver_register+0x5d/0xf0 > <...> > > Signed-off-by: Stefan Strogin Acked-by: Michal Nazarewicz > @@ -127,6 +240,93 @@ static int cma_alloc_write(void *data, u64 val) > > DEFINE_SIMPLE_ATTRIBUTE(cma_alloc_fops, NULL, cma_alloc_write, "%llu\n"); > > +#ifdef CONFIG_CMA_BUFFER_LIST > +static void *s_start(struct seq_file *seq, loff_t *ppos) > +{ > + struct cma *cma = seq->private; > + struct cma_buffer *cmabuf; > + loff_t n = *ppos; > + > + mutex_lock(&cma->list_lock); > + cmabuf = list_first_entry(&cma->buffer_list, typeof(*cmabuf), list); > + list_for_each_entry(cmabuf, &cma->buffer_list, list) > + if (n-- == 0) > + return cmabuf; > + > + return 0; return NULL; > +} -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +------ooO--(_)--Ooo--