[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 07/48] xen/sched: move per cpu scheduler private data into struct sched_resource



On 04.09.19 15:48, Jan Beulich wrote:
On 09.08.2019 16:57, Juergen Gross wrote:
This prepares support of larger scheduling granularities, e.g. core
scheduling.

While at it move sched_has_urgent_vcpu() from include/asm-x86/cpuidle.h
into schedule.c removing the need for including sched-if.h in
cpuidle.h and multiple other C sources.

Looking again, the #include-s in .c files should have been unnecessary
altogether (and dropping of them could, if it was a separate patch, go
in right away), because of ...

Patch sent.


--- a/xen/include/asm-x86/cpuidle.h
+++ b/xen/include/asm-x86/cpuidle.h
@@ -4,7 +4,6 @@
  #include <xen/cpuidle.h>
  #include <xen/notifier.h>
  #include <xen/sched.h>
-#include <xen/sched-if.h>

... this.

@@ -27,14 +26,4 @@ void update_idle_stats(struct acpi_processor_power *,
  void update_last_cx_stat(struct acpi_processor_power *,
                           struct acpi_processor_cx *, uint64_t);
-/*
- * vcpu is urgent if vcpu is polling event channel
- *
- * if urgent vcpu exists, CPU should not enter deep C state
- */
-static inline int sched_has_urgent_vcpu(void)
-{
-    return atomic_read(&this_cpu(schedule_data).urgent_count);
-}

And then, despite my previous ack, I'm slightly unhappy about this
very short function becoming an out-of-line one, when the only
users of it would preferably have as low latency as possible. I
don't suppose there's a way to keep it inline but still drop the
unwanted #include above?

The only alternatives I could think of are:

- Passing the "urgent" indicator via parameter to idle (you didn't
  like that)

- Make urgent_count a plain percpu variable


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.