[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] RFC: ptc.ga implementation for SMP-g
>From: Magenheimer, Dan >Sent: 2006?4?5? 3:46 > >I think ptc.ga needs to execute as a "transaction", that is, >it is not complete until all other processors' translations >have been purged. If not, consider (in the above): > >4.5. vcpu2 doesn't trap to the hypervisor for a very long time > and continues to use the unpurged translation, while vcpu1 > assumes the translation has been successfully purged and > sets up a new translation and assumes that vcpu2 will "miss" > and use the new translation. > Thanks for comments, Let's first analyze how linux uses ptc.ga. In linux, a process is only running on a LP at one time, is this correct? Linux kernel (on behalf of a process that is running) uses ptc.ga to purge this process's tlbs. But linux kernel will not purge processes' tlbs those are not running on this LP, this is my understanding, if linux kernel does purge other processes those are not running on this LP, linux kernel will reset region registers, I didn't see this code. Is this correct? If above two are all correct. When a process running on vcpu1 is executing ptc.ga, This process is not running on vcpu2 at the same time, that means the tlbs which ptc.ga wants to purge is not used on vcpu2 until this process is scheduled to vcpu2. Before this process is scheduled to vcpu2, guest kernel will Reset region registers for this process, and then hypervisor gets control to purge the tlbs. Comments welcome >Dan _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |