All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wei.liu2@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 10/16] x86/mm: put nested p2m code under CONFIG_HVM
Date: Thu, 13 Sep 2018 16:07:07 +0100	[thread overview]
Message-ID: <20180913150707.qgrts6bbma7gdb5h@zion.uk.xensource.com> (raw)
In-Reply-To: <5B92237E02000078001E627E@prv1-mh.provo.novell.com>

On Fri, Sep 07, 2018 at 01:06:38AM -0600, Jan Beulich wrote:
> >>> On 04.09.18 at 18:15, <wei.liu2@citrix.com> wrote:
> > @@ -149,6 +149,7 @@ static void p2m_teardown_hostp2m(struct domain *d)
> >      }
> >  }
> >  
> > +#ifdef CONFIG_HVM
> >  static void p2m_teardown_nestedp2m(struct domain *d)
> >  {
> >      unsigned int i;
> > @@ -186,6 +187,7 @@ static int p2m_init_nestedp2m(struct domain *d)
> >  
> >      return 0;
> >  }
> > +#endif
> 
> With the goal of limited code churn I think these would better be put
> around the entire body of the function. That way the ones below
> enclosing the function calls can go away.

Later the ifdefs here and some other places will be expand to cover
altp2m as well. If we enclose only the body here, we will need to do the
same things for altp2m functions.

The end result is we will actually have more or less the
same amount whether we change to that method or not. But with this
method we will have less code churn when moving those functions out to
another file.

> 
> > --- a/xen/include/asm-x86/domain.h
> > +++ b/xen/include/asm-x86/domain.h
> > @@ -333,9 +333,11 @@ struct arch_domain
> >          void (*tail)(struct vcpu *);
> >      } *ctxt_switch;
> >  
> > +#ifdef CONFIG_HVM
> >      /* nestedhvm: translate l2 guest physical to host physical */
> >      struct p2m_domain *nested_p2m[MAX_NESTEDP2M];
> >      mm_lock_t nested_p2m_lock;
> > +#endif
> 
> Not something to be done here, just a general remark / question (perhaps
> also more to George than you): Why do we have part of things here ...
> 
> > --- a/xen/include/asm-x86/p2m.h
> > +++ b/xen/include/asm-x86/p2m.h
> > @@ -204,6 +204,7 @@ struct p2m_domain {
> >  
> >      p2m_class_t       p2m_class; /* host/nested/alternate */
> >  
> > +#ifdef CONFIG_HVM
> >      /* Nested p2ms only: nested p2m base value that this p2m shadows.
> >       * This can be cleared to P2M_BASE_EADDR under the per-p2m lock but
> >       * needs both the per-p2m lock and the per-domain nestedp2m lock
> > @@ -216,6 +217,7 @@ struct p2m_domain {
> >       * The host p2m hasolds the head of the list and the np2ms are 
> >       * threaded on in LRU order. */
> >      struct list_head   np2m_list;
> > +#endif
> 
> ... and another part here?

I also found them a bit strange to be placed in two different
structures. I will leave this question to George.

Wei.

> 
> Jan
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2018-09-13 15:07 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 16:15 [PATCH v3 00/16] Make CONFIG_HVM work Wei Liu
2018-09-04 16:15 ` [PATCH v3 01/16] x86: change name of parameter for various invlpg functions Wei Liu
2018-09-06 11:12   ` George Dunlap
2018-09-13 16:11   ` George Dunlap
2018-09-04 16:15 ` [PATCH v3 02/16] x86: introduce and use a set of internal emulation flags Wei Liu
2018-09-06 13:27   ` Jan Beulich
2018-09-06 13:47     ` Wei Liu
2018-09-04 16:15 ` [PATCH v3 03/16] x86: XENMEM_resource_ioreq_server is HVM only Wei Liu
2018-09-04 16:24   ` Paul Durrant
2018-09-04 16:42   ` Wei Liu
2018-09-06 13:29     ` Jan Beulich
2018-09-04 16:15 ` [PATCH v3 04/16] x86: monitor.o is currently " Wei Liu
2018-09-04 16:35   ` Razvan Cojocaru
2018-09-04 16:15 ` [PATCH v3 05/16] x86: PIT emulation is common to both PV and HVM Wei Liu
2018-09-06 14:26   ` Jan Beulich
2018-09-04 16:15 ` [PATCH v3 06/16] libxl: don't set PoD target for PV guests Wei Liu
2018-09-07 13:44   ` Ian Jackson
2018-09-04 16:15 ` [PATCH v3 07/16] x86/p2m/pod: make it build with !CONFIG_HVM Wei Liu
2018-09-04 17:08   ` Razvan Cojocaru
2018-09-04 17:10     ` Razvan Cojocaru
2018-09-04 17:24   ` Julien Grall
2018-09-06 10:57     ` Wei Liu
2018-09-06 15:30       ` George Dunlap
2018-09-06 15:05   ` Jan Beulich
2018-09-06 16:06     ` George Dunlap
2018-09-04 16:15 ` [PATCH v3 08/16] x86/hvm: rearrange content of hvm.h Wei Liu
2018-09-07  6:52   ` Jan Beulich
2018-09-04 16:15 ` [PATCH v3 09/16] x86: provide stubs, declarations and macros in hvm.h Wei Liu
2018-09-07  7:02   ` Jan Beulich
2018-09-13 15:31     ` Wei Liu
2018-09-04 16:15 ` [PATCH v3 10/16] x86/mm: put nested p2m code under CONFIG_HVM Wei Liu
2018-09-06 16:20   ` George Dunlap
2018-09-13 15:46     ` Wei Liu
2018-09-13 16:01       ` George Dunlap
2018-09-07  7:06   ` Jan Beulich
2018-09-13 15:07     ` Wei Liu [this message]
2018-09-14  8:01       ` Jan Beulich
2018-09-04 16:15 ` [PATCH v3 11/16] x86/mm: put HVM only " Wei Liu
2018-09-04 17:10   ` Razvan Cojocaru
2018-09-07  7:12   ` Jan Beulich
2018-09-07 21:27   ` Tamas K Lengyel
2018-09-13 15:43     ` Wei Liu
2018-09-13 16:31       ` Tamas K Lengyel
2018-09-04 16:15 ` [PATCH v3 12/16] x86/mm: put paging_update_nestedmode " Wei Liu
2018-09-13 16:39   ` George Dunlap
2018-09-04 16:15 ` [PATCH v3 13/16] xen: connect guest creation with CONFIG_{HVM, PV} Wei Liu
2018-09-04 16:15 ` [PATCH v3 14/16] x86: expose CONFIG_HVM Wei Liu
2018-09-07  7:15   ` Jan Beulich
2018-09-13 16:01     ` Wei Liu
2018-09-14  8:07       ` Jan Beulich
2018-09-14 10:36         ` Wei Liu
2018-09-04 16:15 ` [PATCH v3 15/16] x86/pvshim: disable HVM for PV shim Wei Liu
2018-09-07  7:18   ` Jan Beulich
2018-09-07  7:46     ` Wei Liu
2018-09-07  7:48       ` Wei Liu
2018-09-04 16:15 ` [PATCH v3 16/16] xen: decouple HVM and IOMMU capabilities Wei Liu
2018-09-13 15:52   ` Ian Jackson

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=20180913150707.qgrts6bbma7gdb5h@zion.uk.xensource.com \
    --to=wei.liu2@citrix.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=xen-devel@lists.xenproject.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.