public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: Chris Wright <chrisw@osdl.org>
Cc: Andrew Morton <akpm@osdl.org>,
	"Martin J. Bligh" <mbligh@mbligh.org>,
	linux-kernel@vger.kernel.org,
	Pratap Subrahmanyam <pratap@vmware.com>
Subject: Re: [PATCH] abstract out bits of ldt.c
Date: Sun, 07 Aug 2005 18:04:14 -0700	[thread overview]
Message-ID: <42F6AF8E.60107@vmware.com> (raw)
In-Reply-To: <20050808004645.GT7762@shell0.pdx.osdl.net>

Chris Wright wrote:

>* Andrew Morton (akpm@osdl.org) wrote:
>  
>
>>"Martin J. Bligh" <mbligh@mbligh.org> wrote:
>>    
>>
>>>xen_make_pages_readonly / xen_make_pages_writable ?
>>>      
>>>
>>Well we don't want to assume "xen" at this stage.  We're faced with a
>>choice at present: to make the linux->hypervisor interface be some
>>xen-specific and xen-controlled thing, or to make it a more formal and
>>controlled kernel interface which talks to a generic hypervisor rather than
>>assuming it's Xen down there.
>>    
>>
>
>No, definietly not.  Xen is not appropriate global namespace.  Also,
>it's not about pages at this point, it's about ldt handling.
>  
>

I like these patches.  They greatly simplify a lot of the work I had 
anticipated was necessary for Xen.  I.e. - LDT / GDT accessors are not 
needed for most updates, only updates to live descriptor table entries 
(for GDT this is TLS, LDT, TSS?, entries and there is 1 LDT update case).

BTW, Martin, did you see my ldt-accessors patch?  It also encapsulates 
that 1 LDT update case you show here, just named differently.

Yours:

+static inline int install_ldt_entry (__u32 *lp, __u32 entry_1, __u32 entry_2)
+{
+	*lp     = entry_1;
+	*(lp+1) = entry_2;
+	return 0;
+}

Mine:

+static inline void write_ldt_entry(void *ldt, int entry, __u32 entry_a, __u32 entry_b)
+{
+	__u32 *lp = (__u32 *)((char *)ldt + entry*8);
+	*lp = entry_a;
+	*(lp+1) = entry_b;
+}


They both work, but mine does not assume page aligned LDTs (necessary to 
extract entry number).  This is moot right now because LDTs are page 
aligned anyway in Linux.  I actually don't care which one we use, but it 
might be even nicer if we got one with C type checking (struct 
desc_struct for ldt).

Does Xen assume page aligned descriptor tables?  I assume from this 
patch and snippets I have gathered from others, that is a yes, and other 
things here imply that DT pages are not shadowed.  If so, Xen itself 
must have live segments in the GDT pages, so how do you allocate space 
for the per-CPU GDT pages on SMP?


>>As long as it doesn't hamper performance or general code sanity, I think it
>>would be better to make this a well-defined and controlled Linux interface.
>>Some of the code to do that is starting to accumulate in -mm.  Everyone
>>needs to sit down, take a look at the patches and the proposal and work out
>>if this is the way to proceed.
>>    
>>
>
>We're doing that, but it's splintered and coming in from different angles.
>It'd be better to get the story straight then submit patches, IMO.
>  
>

I think introducing mach-xen headers is a bit premature though - lets 
get the interface nailed down first so that the hypervisor developers 
have time to settle the include/asm-i386/mach-xxx files without dealing 
unneeded churn onto the maintainers.

Zach

  reply	other threads:[~2005-08-08  1:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-07 23:20 [PATCH] abstract out bits of ldt.c Martin J. Bligh
2005-08-07 23:44 ` Chris Wright
2005-08-07 23:57   ` Martin J. Bligh
2005-08-07 23:59     ` Chris Wright
2005-08-08  0:41     ` Andrew Morton
2005-08-08  0:46       ` Chris Wright
2005-08-08  1:04         ` Zachary Amsden [this message]
2005-08-08  1:08           ` Chris Wright
2005-08-08  1:16             ` Zachary Amsden
2005-08-08  1:36               ` Chris Wright
2005-08-08  1:21           ` Martin J. Bligh
2005-08-08  0:59       ` Martin J. Bligh
     [not found]       ` <20050808113014.GA15165@elte.hu>
     [not found]         ` <20050808095755.23810b15.akpm@osdl.org>
2005-08-09  9:23           ` Ingo Molnar
2005-08-09  9:28             ` Christoph Hellwig
2005-08-08  8:41 ` Dave Hansen

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=42F6AF8E.60107@vmware.com \
    --to=zach@vmware.com \
    --cc=akpm@osdl.org \
    --cc=chrisw@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@mbligh.org \
    --cc=pratap@vmware.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox