From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Xen Devel <Xen-devel@lists.xensource.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ingo Molnar <mingo@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Subject: Re: [PATCH 06/15] xen/trace: add ptpage alloc/release tracepoints
Date: Tue, 21 Jun 2011 09:55:11 -0400 [thread overview]
Message-ID: <20110621135511.GB28229@dumpdata.com> (raw)
In-Reply-To: <a92051a41ed96ad362d1f79c7b3e36c8cc4dd80b.1308607697.git.jeremy.fitzhardinge@citrix.com>
On Mon, Jun 20, 2011 at 03:15:02PM -0700, Jeremy Fitzhardinge wrote:
> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> ---
> arch/x86/xen/mmu.c | 10 ++++++++--
> include/trace/events/xen.h | 33 +++++++++++++++++++++++++++++++++
> 2 files changed, 41 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> index 90101c5..84c796f 100644
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -1473,8 +1473,11 @@ static void __init xen_release_pmd_init(unsigned long pfn)
> static void xen_alloc_ptpage(struct mm_struct *mm, unsigned long pfn, unsigned level)
> {
> struct page *page = pfn_to_page(pfn);
> + int pinned = PagePinned(virt_to_page(mm->pgd));
Why not use 'bool' as you
> +
^ this above has a space right after it.
> + trace_xen_mmu_alloc_ptpage(mm, pfn, level, pinned);
>
> - if (PagePinned(virt_to_page(mm->pgd))) {
> + if (pinned) {
> SetPagePinned(page);
>
> if (!PageHighMem(page)) {
> @@ -1503,8 +1506,11 @@ static void xen_alloc_pmd(struct mm_struct *mm, unsigned long pfn)
> static void xen_release_ptpage(unsigned long pfn, unsigned level)
> {
> struct page *page = pfn_to_page(pfn);
> + bool pinned = PagePinned(page);
..do here?
>
> - if (PagePinned(page)) {
> + trace_xen_mmu_release_ptpage(pfn, level, pinned);
> +
> + if (pinned) {
> if (!PageHighMem(page)) {
> if (level == PT_PTE && USE_SPLIT_PTLOCKS)
> pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
> diff --git a/include/trace/events/xen.h b/include/trace/events/xen.h
> index 5c4e967..16edcb7 100644
> --- a/include/trace/events/xen.h
> +++ b/include/trace/events/xen.h
> @@ -347,6 +347,39 @@ TRACE_EVENT(xen_mmu_ptep_modify_prot_commit,
> (int)sizeof(pteval_t) * 2, (unsigned long long)__entry->pteval)
> );
>
> +TRACE_EVENT(xen_mmu_alloc_ptpage,
> + TP_PROTO(struct mm_struct *mm, unsigned long pfn, unsigned level, bool pinned),
> + TP_ARGS(mm, pfn, level, pinned),
> + TP_STRUCT__entry(
> + __field(struct mm_struct *, mm)
> + __field(unsigned long, pfn)
> + __field(unsigned, level)
> + __field(bool, pinned)
> + ),
> + TP_fast_assign(__entry->mm = mm;
> + __entry->pfn = pfn;
> + __entry->level = level;
> + __entry->pinned = pinned),
> + TP_printk("mm %p pfn %lx level %d %spinned",
> + __entry->mm, __entry->pfn, __entry->level,
> + __entry->pinned ? "" : "un")
> + );
> +
> +TRACE_EVENT(xen_mmu_release_ptpage,
> + TP_PROTO(unsigned long pfn, unsigned level, bool pinned),
> + TP_ARGS(pfn, level, pinned),
> + TP_STRUCT__entry(
> + __field(unsigned long, pfn)
> + __field(unsigned, level)
> + __field(bool, pinned)
> + ),
> + TP_fast_assign(__entry->pfn = pfn;
> + __entry->level = level;
> + __entry->pinned = pinned),
> + TP_printk("pfn %lx level %d %spinned",
> + __entry->pfn, __entry->level,
> + __entry->pinned ? "" : "un")
> + );
>
> #endif /* _TRACE_XEN_H */
>
> --
> 1.7.5.4
WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>,
Xen Devel <Xen-devel@lists.xensource.com>,
Ingo Molnar <mingo@redhat.com>,
Steven Rostedt <rostedt@goodmis.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 06/15] xen/trace: add ptpage alloc/release tracepoints
Date: Tue, 21 Jun 2011 09:55:11 -0400 [thread overview]
Message-ID: <20110621135511.GB28229@dumpdata.com> (raw)
In-Reply-To: <a92051a41ed96ad362d1f79c7b3e36c8cc4dd80b.1308607697.git.jeremy.fitzhardinge@citrix.com>
On Mon, Jun 20, 2011 at 03:15:02PM -0700, Jeremy Fitzhardinge wrote:
> From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
> ---
> arch/x86/xen/mmu.c | 10 ++++++++--
> include/trace/events/xen.h | 33 +++++++++++++++++++++++++++++++++
> 2 files changed, 41 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> index 90101c5..84c796f 100644
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -1473,8 +1473,11 @@ static void __init xen_release_pmd_init(unsigned long pfn)
> static void xen_alloc_ptpage(struct mm_struct *mm, unsigned long pfn, unsigned level)
> {
> struct page *page = pfn_to_page(pfn);
> + int pinned = PagePinned(virt_to_page(mm->pgd));
Why not use 'bool' as you
> +
^ this above has a space right after it.
> + trace_xen_mmu_alloc_ptpage(mm, pfn, level, pinned);
>
> - if (PagePinned(virt_to_page(mm->pgd))) {
> + if (pinned) {
> SetPagePinned(page);
>
> if (!PageHighMem(page)) {
> @@ -1503,8 +1506,11 @@ static void xen_alloc_pmd(struct mm_struct *mm, unsigned long pfn)
> static void xen_release_ptpage(unsigned long pfn, unsigned level)
> {
> struct page *page = pfn_to_page(pfn);
> + bool pinned = PagePinned(page);
..do here?
>
> - if (PagePinned(page)) {
> + trace_xen_mmu_release_ptpage(pfn, level, pinned);
> +
> + if (pinned) {
> if (!PageHighMem(page)) {
> if (level == PT_PTE && USE_SPLIT_PTLOCKS)
> pin_pagetable_pfn(MMUEXT_UNPIN_TABLE, pfn);
> diff --git a/include/trace/events/xen.h b/include/trace/events/xen.h
> index 5c4e967..16edcb7 100644
> --- a/include/trace/events/xen.h
> +++ b/include/trace/events/xen.h
> @@ -347,6 +347,39 @@ TRACE_EVENT(xen_mmu_ptep_modify_prot_commit,
> (int)sizeof(pteval_t) * 2, (unsigned long long)__entry->pteval)
> );
>
> +TRACE_EVENT(xen_mmu_alloc_ptpage,
> + TP_PROTO(struct mm_struct *mm, unsigned long pfn, unsigned level, bool pinned),
> + TP_ARGS(mm, pfn, level, pinned),
> + TP_STRUCT__entry(
> + __field(struct mm_struct *, mm)
> + __field(unsigned long, pfn)
> + __field(unsigned, level)
> + __field(bool, pinned)
> + ),
> + TP_fast_assign(__entry->mm = mm;
> + __entry->pfn = pfn;
> + __entry->level = level;
> + __entry->pinned = pinned),
> + TP_printk("mm %p pfn %lx level %d %spinned",
> + __entry->mm, __entry->pfn, __entry->level,
> + __entry->pinned ? "" : "un")
> + );
> +
> +TRACE_EVENT(xen_mmu_release_ptpage,
> + TP_PROTO(unsigned long pfn, unsigned level, bool pinned),
> + TP_ARGS(pfn, level, pinned),
> + TP_STRUCT__entry(
> + __field(unsigned long, pfn)
> + __field(unsigned, level)
> + __field(bool, pinned)
> + ),
> + TP_fast_assign(__entry->pfn = pfn;
> + __entry->level = level;
> + __entry->pinned = pinned),
> + TP_printk("pfn %lx level %d %spinned",
> + __entry->pfn, __entry->level,
> + __entry->pinned ? "" : "un")
> + );
>
> #endif /* _TRACE_XEN_H */
>
> --
> 1.7.5.4
next prev parent reply other threads:[~2011-06-21 13:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-20 22:14 [PATCH 00/15] xen: use tracing to replace ad-hoc debug/stats stuff Jeremy Fitzhardinge
2011-06-20 22:14 ` [PATCH 01/15] trace/xen: add skeleton for Xen trace events Jeremy Fitzhardinge
2011-06-20 22:14 ` [PATCH 02/15] xen/multicalls: remove debugfs stats Jeremy Fitzhardinge
2011-06-20 22:14 ` [PATCH 03/15] xen/trace: set up tracepoint skeleton Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 04/15] xen/trace: add multicall tracing Jeremy Fitzhardinge
2011-06-21 13:52 ` Konrad Rzeszutek Wilk
2011-06-21 17:11 ` Jeremy Fitzhardinge
2011-06-21 17:21 ` Konrad Rzeszutek Wilk
2011-06-20 22:15 ` [PATCH 05/15] xen/trace: add mmu tracepoints Jeremy Fitzhardinge
2011-06-21 0:27 ` Steven Rostedt
2011-06-21 0:27 ` Steven Rostedt
2011-06-20 22:15 ` [PATCH 06/15] xen/trace: add ptpage alloc/release tracepoints Jeremy Fitzhardinge
2011-06-21 13:55 ` Konrad Rzeszutek Wilk [this message]
2011-06-21 13:55 ` Konrad Rzeszutek Wilk
2011-06-20 22:15 ` [PATCH 07/15] xen/trace: add xen_pgd_(un)pin tracepoints Jeremy Fitzhardinge
2011-06-21 0:28 ` Steven Rostedt
2011-06-21 17:30 ` Jeremy Fitzhardinge
2011-06-21 17:30 ` Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 08/15] xen/trace: add segment desc tracing Jeremy Fitzhardinge
2011-06-21 14:03 ` Konrad Rzeszutek Wilk
2011-06-21 17:14 ` Jeremy Fitzhardinge
2011-06-21 17:14 ` Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 09/15] xen/trace: add tlb flush tracepoints Jeremy Fitzhardinge
2011-06-21 14:07 ` Konrad Rzeszutek Wilk
2011-06-23 19:52 ` Jeremy Fitzhardinge
2011-06-23 20:23 ` Steven Rostedt
2011-06-23 22:58 ` Jeremy Fitzhardinge
2011-06-24 2:00 ` Steven Rostedt
2011-06-20 22:15 ` [PATCH 10/15] xen/mmu: use extend_args for more mmuext updates Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 11/15] xen/mmu: tune pgtable alloc/release Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 12/15] xen/multicalls: disable MC_DEBUG Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 13/15] xen/multicalls: add unlikely around slowpath in __xen_mc_entry() Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 14/15] xen/multicall: special-case singleton hypercalls Jeremy Fitzhardinge
2011-06-20 22:15 ` [PATCH 15/15] xen/multicall: move *idx fields to start of mc_buffer Jeremy Fitzhardinge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110621135511.GB28229@dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Xen-devel@lists.xensource.com \
--cc=jeremy.fitzhardinge@citrix.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.