[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] auto_translated_physmap in Fedora
On 7/7/06, Pete Zaitcev <zaitcev@xxxxxxxxxx> wrote: I noticed one curious thing while working on some issues with Fedora. At least in 2.6.17-1.2302_FC6xen, the following evaluates to false: if (xen_feature(XENFEAT_auto_translated_physmap)) return pfn; But the head-xen.S looks like this: .section __xen_guest .ascii "GUEST_OS=linux,GUEST_VER=2.6" .ascii ",XEN_VER=xen-3.0" .ascii ",VIRT_BASE=0x"; utoh __START_KERNEL_map .ascii ",HYPERCALL_PAGE=0x"; utoh (phys_hypercall_page >> PAGE_SHIFT) .ascii ",FEATURES=writable_page_tables" .ascii "|writable_descriptor_tables" .ascii "|auto_translated_physmap" .ascii "|supervisor_mode_kernel" .ascii ",LOADER=generic" .byte 0 Everything continues to work just fine, thanks to runtime checks of xen_feature() like the above. So I am curious, if this is something anyone cares about. Also, why does it happen? If it's a feature which cannot be enabled (anymore), perhaps we can simply the code and get some performance by removing the run-time checks. It can be enabled by passing a feaures value to the domain builder which enables it. In its header, the guest advertises which features it doesn't support (by not listing them), which features it supports (by listing them) and which features it requires (by listing them prefixed with a ! -- as used in the upstream patchqueue kernel). This leaves some freedom to the user and/or the hypervisor to enable/disable features they think give better performance and/or do not exist yet or anymore in the hypervisor. I don't think you'll get any performance from removing these, most are on non-critical code patch and we've been careful to make the checks on any critical path very fast. That's the main reason why the feature bits get unpacked within the guest on boot, allowing them to get or'ed into existing conditions. christian _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |