Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: attaching cpu via lapic
On Aug 19, 1:31am, "Cherry G. Mathew" wrote:
}
} I'm trying to improve the semantics around x86 lapic vs. cpu, with a
} view to wedging in the concept of "vcpu"s.
}
} TLDR: please review this patch:
} http://ftp.netbsd.org/pub/NetBSD/misc/cherry/tmp/attach-cpu-with-lapic.diff
}
} Essentially, the idea is that when the kernel runs under a hypervisor
} which it can detect, and this hypervisory exports a "virtual cpu" to the
} guest OS, this can be understood in the context of NetBSD's cpu device.
}
} The current attachment is as follows:
}
} 'attach cpu at cpubus'
}
} which is then constrained via:
}
} 'cpu* at mainbus'
}
} similarly in the virtualised case:
} 'attach vcpu at xendevbus'
}
} and,
}
} 'vcpu* at hypervisor'
}
} I've thought of a couple of schemes, but my current thought is as
} follows:
}
} attach cpu at cpubus with lapic
} attach cpu at xendevbus with xvcpu
}
} cpu* at mainbus #(via x86/(mpacpi.c|mpbios.c) as usual)
} cpu* at hypervisor #(via xen/hypervisor.c as usual)
}
} The idea is that the attachment is mediated by the lapic/xvcpu
} respectively which can then decide how to go forward (vcpus on xen pvhvm
} don't need to fully initialise the underlying cpu, for eg: whereas
} physical cpus on xen dom0 cannot fully initialise, since xen disallows
} full access to the corresponding lapic).
}
} The situation for XEN is as follows:
}
} PV domU - only vcpu
} HVM domU - only cpu
} PVHVM domU - cpu:vcpu -> 1:1
Why is this 1:1? This seems to be a serious limitation that
will reduce the number of VMs that a given box can handle.
} PVH dom0 - cpu:vcpu -> 1:1 (IIUC)
} PV dom0 - cpu:vcpu -> vcpu can be fewer than cpu
}
} Thus I'm trying to dissect the attach path of x86 cpu in such a way that
} it makes the least amount of 'platform' assumptions. The above patch is
} a first cut at taking out 'lapic' related assumptions in the native cpu
} attach path.
}
}-- End of excerpt from "Cherry G. Mathew"
Home |
Main Index |
Thread Index |
Old Index