On Mon, Mar 16, 2015 at 09:54:18PM -0400, Sasha Levin wrote: > On 03/16/2015 09:43 PM, Joonsoo Kim wrote: > > On Mon, Mar 16, 2015 at 07:06:55PM +0300, Stefan Strogin wrote: > >> > Hi all. > >> > > >> > Here is the fourth version of a patch set that adds some debugging facility for > >> > CMA. > >> > > >> > This patch set is based on next-20150316. > >> > It is also available on git: > >> > git://github.com/stefanstrogin/linux -b cmainfo-v4 > >> > > >> > We want an interface to see a list of currently allocated CMA buffers and some > >> > useful information about them (like /proc/vmallocinfo but for physically > >> > contiguous buffers allocated with CMA). > >> > > >> > For example. We want a big (megabytes) CMA buffer to be allocated in runtime > >> > in default CMA region. If someone already uses CMA then the big allocation > >> > could fail. If it happened then with such an interface we could find who used > >> > CMA at the moment of failure, who caused fragmentation and so on. Ftrace also > >> > would be helpful here, but with ftrace we can see the whole history of > >> > allocations and releases, whereas with this patch set we can see a snapshot of > >> > CMA region with actual information about its allocations. > > Hello, > > > > Hmm... I still don't think that this is really helpful to find root > > cause of fragmentation. Think about following example. > > > > Assume 1024 MB CMA region. > > > > 128 MB allocation * 4 > > 1 MB allocation > > 128 MB allocation > > 128 MB release * 4 (first 4) > > try 512 MB allocation > > > > With above sequences, fragmentation happens and 512 MB allocation would > > be failed. We can get information about 1 MB allocation and 128 MB one > > from the buffer list as you suggested, but, fragmentation are related > > to whole sequence of allocation/free history, not snapshot of allocation. > > This is solvable by dumping task->comm in the tracepoint patch (1/5), right? Yes, it can be solved by 1/5. I mean that I'm not sure patch 4/5 is really needed or not. 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>