Re: [PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
Andrew Morton wrote: > On Wed, 14 Mar 2007 12:07:14 -0700 Jeremy Fitzhardinge <[EMAIL PROTECTED]> > wrote: > > >> Subject: Add a sched_clock paravirt_op >> >> The tsc-based get_scheduled_cycles interface is not a good match for >> Xen's runstate accounting, which reports everything in nanoseconds. >> >> This patch replaces this interface with a sched_clock interface, which >> matches both Xen and VMI's requirements. >> >> In order to do this, we: >>1. replace get_scheduled_cycles with sched_clock >>2. hoist cycles_2_ns into a common header >>3. update vmi accordingly >> >> One thing to note: because sched_clock is implemented as a weak function in >> kernel/sched.c, we must define a real function in order to override this weak >> binding. This means the usual paravirt_ops technique of using an inline >> function won't work in this case. >> > > include/asm/paravirt.h: In function 'paravirt_sched_clock': > include/asm/paravirt.h:281: warning: implicit declaration of function > 'PVOP_CALL0' > include/asm/paravirt.h:281: error: expected expression before 'unsigned' > Sorry, I didn't intend for it to be picked up; it depends on stuff earlier in the patch series. I just wanted to check with the VMI folks that it works for them in principle. J - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
On Wed, 14 Mar 2007 12:07:14 -0700 Jeremy Fitzhardinge <[EMAIL PROTECTED]> wrote: > Subject: Add a sched_clock paravirt_op > > The tsc-based get_scheduled_cycles interface is not a good match for > Xen's runstate accounting, which reports everything in nanoseconds. > > This patch replaces this interface with a sched_clock interface, which > matches both Xen and VMI's requirements. > > In order to do this, we: >1. replace get_scheduled_cycles with sched_clock >2. hoist cycles_2_ns into a common header >3. update vmi accordingly > > One thing to note: because sched_clock is implemented as a weak function in > kernel/sched.c, we must define a real function in order to override this weak > binding. This means the usual paravirt_ops technique of using an inline > function won't work in this case. include/asm/paravirt.h: In function 'paravirt_sched_clock': include/asm/paravirt.h:281: warning: implicit declaration of function 'PVOP_CALL0' include/asm/paravirt.h:281: error: expected expression before 'unsigned' - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
On Wed, 14 Mar 2007 12:07:14 -0700 Jeremy Fitzhardinge [EMAIL PROTECTED] wrote: Subject: Add a sched_clock paravirt_op The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace get_scheduled_cycles with sched_clock 2. hoist cycles_2_ns into a common header 3. update vmi accordingly One thing to note: because sched_clock is implemented as a weak function in kernel/sched.c, we must define a real function in order to override this weak binding. This means the usual paravirt_ops technique of using an inline function won't work in this case. include/asm/paravirt.h: In function 'paravirt_sched_clock': include/asm/paravirt.h:281: warning: implicit declaration of function 'PVOP_CALL0' include/asm/paravirt.h:281: error: expected expression before 'unsigned' - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
Andrew Morton wrote: On Wed, 14 Mar 2007 12:07:14 -0700 Jeremy Fitzhardinge [EMAIL PROTECTED] wrote: Subject: Add a sched_clock paravirt_op The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace get_scheduled_cycles with sched_clock 2. hoist cycles_2_ns into a common header 3. update vmi accordingly One thing to note: because sched_clock is implemented as a weak function in kernel/sched.c, we must define a real function in order to override this weak binding. This means the usual paravirt_ops technique of using an inline function won't work in this case. include/asm/paravirt.h: In function 'paravirt_sched_clock': include/asm/paravirt.h:281: warning: implicit declaration of function 'PVOP_CALL0' include/asm/paravirt.h:281: error: expected expression before 'unsigned' Sorry, I didn't intend for it to be picked up; it depends on stuff earlier in the patch series. I just wanted to check with the VMI folks that it works for them in principle. J - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
Jeremy Fitzhardinge wrote: Subject: Add a sched_clock paravirt_op The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace get_scheduled_cycles with sched_clock 2. hoist cycles_2_ns into a common header 3. update vmi accordingly One thing to note: because sched_clock is implemented as a weak function in kernel/sched.c, we must define a real function in order to override this weak binding. This means the usual paravirt_ops technique of using an inline function won't work in this case. Acked-by: Zachary Amsden <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH/RFC] replace get_scheduled_cycles with sched_clock paravirt_op
Jeremy Fitzhardinge wrote: Subject: Add a sched_clock paravirt_op The tsc-based get_scheduled_cycles interface is not a good match for Xen's runstate accounting, which reports everything in nanoseconds. This patch replaces this interface with a sched_clock interface, which matches both Xen and VMI's requirements. In order to do this, we: 1. replace get_scheduled_cycles with sched_clock 2. hoist cycles_2_ns into a common header 3. update vmi accordingly One thing to note: because sched_clock is implemented as a weak function in kernel/sched.c, we must define a real function in order to override this weak binding. This means the usual paravirt_ops technique of using an inline function won't work in this case. Acked-by: Zachary Amsden [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/