All of lore.kernel.org
 help / color / mirror / Atom feed
From: Attilio Rao <attilio.rao@citrix.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH 3/5] X86/XEN: Introduce the x86_init.paging.pagetable_init PVOPS
Date: Tue, 21 Aug 2012 21:26:17 +0100	[thread overview]
Message-ID: <5033EEE9.70806@citrix.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1208211722560.2856@ionos>

On 21/08/12 16:44, Thomas Gleixner wrote:
> On Tue, 21 Aug 2012, Attilio Rao wrote:
>
>    
>> This new PVOPS is responsible to setup the kernel pagetables and
>> replace entirely x86_init.paging.pagetable_setup_start and
>> x86_init.paging.pagetable_setup_done PVOPS work.
>>      
>
>    
>> For performance the x86_64 stub is implemented as a macro to paging_init()
>> rather than an actual function stub.
>>      
> Huch, using a macro for an once per boot time call is really a massive
> performance improvement.
>
> It's confusing and wrong. You just use a macro because x86_64 does not
> need any extra setups aside of paging_init().
>
>    
>> diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
>> index 849be14..c1e910a 100644
>> --- a/arch/x86/kernel/x86_init.c
>> +++ b/arch/x86/kernel/x86_init.c
>> @@ -68,6 +68,7 @@ struct x86_init_ops x86_init __initdata = {
>>   	},
>>
>>   	.paging = {
>> +		.pagetable_init		= native_pagetable_init,
>>      
> I'd prefer to see these patches implemented differently.
>
>   #1 Remove the base argument from pagetable_setup_start (leave
>      pagetable_setup_done() alone).
>
>   #2 Rename pagetable_setup_start to pagetable_init,
>      native_pagetable_setup_start to native_pagetable_init and
>      xen_pagetable_setup_start to xen_pagetable_init
>
>   #3 Instead of copying the whole native_pagetable_setup_start()
>      function and deleting it later, move the paging_init() call from
>      setup.c to native_pagetable_init() and xen_pagetable_init()
>      and define native_pagetable_init as paging_init() for x86_64
>
>   #4 Move the code from xen_pagetable_setup_done() into
>      xen_pagetable_init() and remove the now unused
>      pagetable_setup_done().
>
> That's less code shuffling and pointless copying which makes the
> review way easier.
>    

I've followed these steps in a new patch series (integrating suggestions 
from Konrad and Stefano too).

Attilio

  reply	other threads:[~2012-08-21 20:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-21  1:14 [PATCH 0/5] X86/XEN: Merge x86_init.paging.pagetable_setup_start and x86_init.paging.pagetable_setup_done PVOPS and document the semantic Attilio Rao
2012-08-21  1:14 ` Attilio Rao
2012-08-21  1:14 ` [PATCH 1/5] XEN: Remove the base argument from x86_init.paging.pagetable_setup_done PVOPS Attilio Rao
2012-08-21  1:14   ` Attilio Rao
2012-08-21  1:14 ` [PATCH 2/5] XEN: Remove the base argument from x86_init.paging.pagetable_setup_start PVOPS Attilio Rao
2012-08-21  1:14   ` Attilio Rao
2012-08-21 15:41   ` Thomas Gleixner
2012-08-21 15:49     ` Attilio Rao
2012-08-21 16:04       ` Thomas Gleixner
2012-08-21  1:14 ` [PATCH 3/5] X86/XEN: Introduce the x86_init.paging.pagetable_init PVOPS Attilio Rao
2012-08-21  1:14   ` Attilio Rao
2012-08-21 15:44   ` Thomas Gleixner
2012-08-21 20:26     ` Attilio Rao [this message]
2012-08-21  1:14 ` [PATCH 4/5] X86/XEN: Retire now unused x86_init.paging.pagetable_setup_start and x86_init.paging.pagetable_setup_done PVOPS Attilio Rao
2012-08-21  1:14   ` Attilio Rao
2012-08-21  1:14 ` [PATCH 5/5] X86/XEN: Add few lines explaining simple semantic for x86_init.paging.pagetable_init PVOPS Attilio Rao
2012-08-21  1:14   ` Attilio Rao
2012-08-21 11:09 ` [PATCH 0/5] X86/XEN: Merge x86_init.paging.pagetable_setup_start and x86_init.paging.pagetable_setup_done PVOPS and document the semantic Stefano Stabellini
2012-08-21 14:53 ` Konrad Rzeszutek Wilk
2012-08-21 15:22 ` Thomas Gleixner

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=5033EEE9.70806@citrix.com \
    --to=attilio.rao@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=hpa@zytor.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xensource.com \
    /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.