Re: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-29 Thread Jeremy Fitzhardinge
Nakajima, Jun wrote: > To me such atomicity is provided by the "sti" instruction (i.e. the > processor begins responding to external, maskable interrupts _after_ the > next instruction is executed), and there is nothing special with that > combination "sti; hlt" (you can also have like "sti; ret",

RE: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-29 Thread Nakajima, Jun
Jeremy Fitzhardinge wrote: > Nakajima, Jun wrote: > > Yes. For the native, "safe_halt" is "sti; hlt". The "native_halt" is > > just "hlt". So the para_virt part of "hlt" could be moved to pv_cpu_ops, > > and the "sti" part stays in pv_irq_ops. > > > > By "sti part", you mean the full "sti; hlt" s

Re: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Jeremy Fitzhardinge
Nakajima, Jun wrote: > Yes. For the native, "safe_halt" is "sti; hlt". The "native_halt" is > just "hlt". So the para_virt part of "hlt" could be moved to pv_cpu_ops, > and the "sti" part stays in pv_irq_ops. > By "sti part", you mean the full "sti; hlt" sequence of safe_halt, right? Since it

RE: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Nakajima, Jun
Jeremy Fitzhardinge wrote: > Nakajima, Jun wrote: > > Jeremy Fitzhardinge wrote: > > > > > > > + .pv_irq_ops = { > > > + .init_IRQ = native_init_IRQ, > > > + .save_fl = native_save_fl, > > > + .restore_fl = native_restore_fl, > > > + .irq_disable = native_irq_d

Re: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Jeremy Fitzhardinge
Nakajima, Jun wrote: > Jeremy Fitzhardinge wrote: > >> This patch refactors the paravirt_ops structure into groups of >> functionally related ops: >> >> pv_info - random info, rather than function entrypoints >> pv_init_ops - functions used at boot time (some for module_init too) >> pv_misc_ops

RE: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Nakajima, Jun
Jeremy Fitzhardinge wrote: > This patch refactors the paravirt_ops structure into groups of > functionally related ops: > > pv_info - random info, rather than function entrypoints > pv_init_ops - functions used at boot time (some for module_init too) > pv_misc_ops - lazy mode, which didn't fit wel

Re: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Zachary Amsden
On Fri, 2007-09-28 at 11:49 -0700, Jeremy Fitzhardinge wrote: > > We shouldn't need to export pv_init_ops. > > No. The only ones I export are: > > EXPORT_SYMBOL_GPL(pv_time_ops); > EXPORT_SYMBOL_GPL(pv_cpu_ops); > EXPORT_SYMBOL_GPL(pv_mmu_ops); > EXPORT_SYMBOL_GPL(pv_apic_ops); > EXPORT_SYMBOL

Re: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Jeremy Fitzhardinge
Zachary Amsden wrote: > On Fri, 2007-09-28 at 11:10 -0700, Jeremy Fitzhardinge wrote: > >> This patch refactors the paravirt_ops structure into groups of >> functionally related ops: >> >> pv_info - random info, rather than function entrypoints >> pv_init_ops - functions used at boot time (some

Re: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops

2007-09-28 Thread Zachary Amsden
On Fri, 2007-09-28 at 11:10 -0700, Jeremy Fitzhardinge wrote: > This patch refactors the paravirt_ops structure into groups of > functionally related ops: > > pv_info - random info, rather than function entrypoints > pv_init_ops - functions used at boot time (some for module_init too) > pv_misc_op