From: Zachary Amsden <zach@vmware.com>
To: Chris Wright <chrisw@osdl.org>
Cc: "Magenheimer,
Dan (HP Labs Fort Collins)" <dan.magenheimer@hp.com>,
xen-devel@lists.xensource.com,
Mark Williamson <mark.williamson@cl.cam.ac.uk>,
Vincent Hanquez <vincent.hanquez@cl.cam.ac.uk>
Subject: Re: linux/arch/xen/i386 or linux/arch/i386/xen
Date: Wed, 18 May 2005 11:35:49 -0700 [thread overview]
Message-ID: <428B8B05.1040708@vmware.com> (raw)
In-Reply-To: <20050518171725.GV27549@shell0.pdx.osdl.net>
Chris Wright wrote:
>* Magenheimer, Dan (HP Labs Fort Collins) (dan.magenheimer@hp.com) wrote:
>
>
>>>>So I'd vote for:
>>>>
>>>>xen arch code in arch/$(ARCH)/xen/
>>>>
>>>>
>>>that's effectively sub-arch
>>>
>>>
>>The difference is admittedly very subtle (though probably
>>not to some Linux kernel developer purists). The question
>>is whether xen is subsidiary architecture (which uses
>>the mach- prefix) or whether it is functionality that can
>>be turned on or off (no mach- prefix).
>>
>>
>
>OK, how about one step at a time. It's already a huge step to move
>things around (between Kconfig, and tangled source, and headers...).
>The advantage of move towards a known target (sub-arch) is there's
>infrastructure in place to support it already. I don't think it's a
>dead-end to go there and then look towards the issues you brought up.
>
>
Xen needs it's own mechanisms for implementing TLB flushes and other
hardware type operations. Those operations are hardcoded in header
files in the asm-i386 directory. It is just plain weird to have a
completely separate set of functions and macros, say
xen_local_save_flags(). Many of these macros and functions are used in
common kernel code, and it would be rather taboo to #ifdef the kernel
all over the place; #ifdef'ing the asm-i386 code for Xen support is also
fairly ugly.
The mach-xen approach has the advantage that functions like this,
local_save_flags can be moved into mach-default. Then if you build a
Xen subarchitecture kernel, you can override any definitions you need by
placing an alternative implementation in include/asm-i386/mach-xen -
this system is already in place and works quite nicely.
If you've already got the sub-arch prefix, you also get your own
arch/i386/mach-xen directory for xen specific support code for
bootstrapping, reboot, shutdown, and a bunch of other platform type
operations.
If you think about virtualization as a platform, classical
virtualization is where the platform is a clone of a physical machine.
Para-virtualization is where the platform presented to the operating
system is shifted, but the underlying CPU/MMU hardware is the same.
That is arguably exactly what sub-architecture support is supposed to
provide.
Zach
next prev parent reply other threads:[~2005-05-18 18:35 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-18 17:00 linux/arch/xen/i386 or linux/arch/i386/xen Magenheimer, Dan (HP Labs Fort Collins)
2005-05-18 17:17 ` Chris Wright
2005-05-18 18:35 ` Zachary Amsden [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-05-19 17:18 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-19 18:55 ` Chris Wright
2005-05-18 19:21 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-18 15:09 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-18 16:47 ` Chris Wright
2005-05-18 19:00 ` Vincent Hanquez
2005-05-18 19:48 ` Zachary Amsden
2005-05-18 20:31 ` Vincent Hanquez
2005-05-17 19:05 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-17 18:09 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-17 18:14 ` Chris Wright
2005-05-18 10:15 ` Vincent Hanquez
2005-05-18 16:53 ` Chris Wright
2005-05-18 18:56 ` Vincent Hanquez
2005-05-17 17:25 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-17 17:58 ` Chris Wright
2005-05-18 18:20 ` Christian Limpach
2005-05-16 22:42 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-16 22:50 ` Mark Williamson
2005-05-16 23:22 ` Chris Wright
2005-05-16 21:37 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-16 22:21 ` Mark Williamson
2005-05-16 17:36 Magenheimer, Dan (HP Labs Fort Collins)
2005-05-16 18:07 ` Chris Wright
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=428B8B05.1040708@vmware.com \
--to=zach@vmware.com \
--cc=chrisw@osdl.org \
--cc=dan.magenheimer@hp.com \
--cc=mark.williamson@cl.cam.ac.uk \
--cc=vincent.hanquez@cl.cam.ac.uk \
--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.