[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <550B2F0A.3010909@partner.samsung.com>
Date: Thu, 19 Mar 2015 23:18:18 +0300
From: Stefan Strogin <s.strogin@...tner.samsung.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Joonsoo Kim <iamjoonsoo.kim@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Michal Nazarewicz <mina86@...a86.com>,
aneesh.kumar@...ux.vnet.ibm.com,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Dmitry Safonov <d.safonov@...tner.samsung.com>,
Pintu Kumar <pintu.k@...sung.com>,
Weijie Yang <weijie.yang@...sung.com>,
Laura Abbott <lauraa@...eaurora.org>,
SeongJae Park <sj38.park@...il.com>,
Hui Zhu <zhuhui@...omi.com>, Minchan Kim <minchan@...nel.org>,
Dyasly Sergey <s.dyasly@...sung.com>,
Vyacheslav Tyrtov <v.tyrtov@...sung.com>,
Aleksei Mateosian <a.mateosian@...sung.com>,
gregory.0xf0@...il.com, sasha.levin@...cle.com, gioh.kim@....com,
pavel@....cz, stefan.strogin@...il.com,
Ingo Molnar <mingo@...hat.com>
Subject: Re: [PATCH v4 1/5] mm: cma: add trace events to debug
physically-contiguous memory allocations
On 17/03/15 02:47, Steven Rostedt wrote:
>>> +TRACE_EVENT(cma_alloc,
>>> +
>>> + TP_PROTO(struct cma *cma, struct page *page, int count),
>>> +
>>> + TP_ARGS(cma, page, count),
>>> +
>>> + TP_STRUCT__entry(
>>> + __field(struct page *, page)
>>> + __field(unsigned long, count)
>>> + ),
>>> +
>>> + TP_fast_assign(
>>> + __entry->page = page;
>>> + __entry->count = count;
>>> + ),
>>> +
>>> + TP_printk("page=%p pfn=%lu count=%lu",
>>> + __entry->page,
>>> + __entry->page ? page_to_pfn(__entry->page) : 0,
>
> Can page_to_pfn(value) ever be different throughout the life of the
> boot? That is, can it return a different result given the same value
> (vmalloc area comes to mind).
>
>>> + TP_printk("pfn=%lu page=%p count=%lu",
>>> + __entry->pfn,
>>> + pfn_to_page(__entry->pfn),
>
> Same here. Can pfn_to_page(value) ever return a different result with
> the same value in a single boot?
>
Thank you for the reply, Steven.
I supposed that page_to_pfn() cannot change after mem_map
initialization, can it? I'm not sure about such things as memory hotplug
though...
Also cma_alloc() calls alloc_contig_range() which returns pfn, then it's
converted to struct page * and cma_alloc() returns struct page *, and
vice versa in cma_release() (receives struct page * and passes pfn to
free_contig_rage()).
Do you mean that printing pfn (or struct page *) in trace event is
redundant?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists