xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] Allow schedulers to be selectable through Kconfig
@ 2016-01-07 17:15 Jonathan Creekmore
  2016-01-07 17:15 ` [PATCH v3 1/5] build: Env var to enable expert config options Jonathan Creekmore
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Creekmore @ 2016-01-07 17:15 UTC (permalink / raw)
  To: xen-devel; +Cc: Jonathan Creekmore

Add machinery to allow the schedulers to be individually selectable
through the Kconfig interface. The first patch in the series sets up
the CONFIG_EXPERT Kconfig variable that is only enabled by passing an
environment variable to the build. The second patch in the series sets up
the Kconfig options for the schedulers and places the appropriate CONFIG_
options around the scheduler list. The third, fourth, and fifth patches
rework the scheduler list from being manually curated into a model
where just compiling any schedulers into the hypervisor causes the
scheduler list to be built up.

---
Changed since v2:
  * Added a predecessor patch that introduces a environment
    variable for the build to enable expert configuration options
    (1/5)
  * Hide the scheduler menu behind the expert option (2/5)
  * Provide static inlines for credit functions that are assumed to be
    present if it is compiled out (2/5)
  * Provide an absolute default of the credit scheduler if the 
    scheduler menu is not visible (2/5)

Changed since v1:
  * Marked credit2 as EXPERIMENTAL
  * Removed confusing language from the commit message
  * Alphabetize the schedulers
  * rename the __start and __end symbols to better match
    the rest of the file
  * Simplify the calculation of the number of schedulers
  * Make the scheduler ops structures static to their files

Jonathan Creekmore (5):
  build: Env var to enable expert config options
  build: Hook the schedulers into Kconfig
  build: Alloc space for sched list in the link file
  sched: Register the schedulers into the list
  sched: Use the auto-generated list of schedulers

 xen/Kconfig                 |  4 +++
 xen/Makefile                |  1 +
 xen/arch/arm/xen.lds.S      |  4 +++
 xen/arch/x86/xen.lds.S      |  4 +++
 xen/common/Kconfig          | 67 +++++++++++++++++++++++++++++++++++++++++++++
 xen/common/Makefile         |  8 +++---
 xen/common/sched_arinc653.c |  4 ++-
 xen/common/sched_credit.c   |  4 ++-
 xen/common/sched_credit2.c  |  4 ++-
 xen/common/sched_rt.c       |  4 ++-
 xen/common/schedule.c       | 20 ++++++--------
 xen/include/xen/sched-if.h  |  7 ++---
 xen/include/xen/sched.h     |  5 ++++
 13 files changed, 112 insertions(+), 24 deletions(-)

-- 
2.6.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3 1/5] build: Env var to enable expert config options
  2016-01-07 17:15 [PATCH v3 0/5] Allow schedulers to be selectable through Kconfig Jonathan Creekmore
@ 2016-01-07 17:15 ` Jonathan Creekmore
  2016-01-07 17:17   ` Jonathan Creekmore
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Creekmore @ 2016-01-07 17:15 UTC (permalink / raw)
  To: xen-devel
  Cc: Keir Fraser, Ian Campbell, Ian Jackson, Tim Deegan, Jan Beulich,
	Jonathan Creekmore, Jonathan Creekmore

From: Jonathan Creekmore <jonathan@star.lab>

Add an additional environment variable, defaulting to disabled,
that enables the CONFIG_EXPERT configuration option. The purpose
of the CONFIG_EXPERT configuration option is to make non-standard
Kconfig options visible during the configuration process. The
CONFIG_EXPERT option is not, itself, visible during the Kconfig
configuration process, so typical users will never see it nor
any of the non-standard configuration options.

CC: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Keir Fraser <keir@xen.org>
CC: Tim Deegan <tim@xen.org>
Signed-off-by: Jonathan Creekmore <jonathan.creekmore@gmail.com>
---
 xen/Kconfig  | 4 ++++
 xen/Makefile | 1 +
 2 files changed, 5 insertions(+)

diff --git a/xen/Kconfig b/xen/Kconfig
index ffe3f45..fa8b27c 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -22,3 +22,7 @@ config DEFCONFIG_LIST
 	string
 	option defconfig_list
 	default "$ARCH_DEFCONFIG"
+
+config EXPERT
+	string
+	option env="XEN_CONFIG_EXPERT"
diff --git a/xen/Makefile b/xen/Makefile
index 9023863..4950afb 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -11,6 +11,7 @@ export XEN_DOMAIN	?= $(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) |
 export XEN_BUILD_DATE	?= $(shell LC_ALL=C date)
 export XEN_BUILD_TIME	?= $(shell LC_ALL=C date +%T)
 export XEN_BUILD_HOST	?= $(shell hostname)
+export XEN_CONFIG_EXPERT ?= n
 
 export BASEDIR := $(CURDIR)
 export XEN_ROOT := $(BASEDIR)/..
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 1/5] build: Env var to enable expert config options
  2016-01-07 17:15 ` [PATCH v3 1/5] build: Env var to enable expert config options Jonathan Creekmore
@ 2016-01-07 17:17   ` Jonathan Creekmore
  0 siblings, 0 replies; 5+ messages in thread
From: Jonathan Creekmore @ 2016-01-07 17:17 UTC (permalink / raw)
  To: xen-devel
  Cc: Keir Fraser, Ian Campbell, Ian Jackson, Tim Deegan, Jan Beulich,
	Jonathan Creekmore


> On Jan 7, 2016, at 11:15 AM, Jonathan Creekmore <jonathan.creekmore@gmail.com> wrote:
> 
> From: Jonathan Creekmore <jonathan@star.lab>
> 
> Add an additional environment variable, defaulting to disabled,
> that enables the CONFIG_EXPERT configuration option. The purpose
> of the CONFIG_EXPERT configuration option is to make non-standard
> Kconfig options visible during the configuration process. The
> CONFIG_EXPERT option is not, itself, visible during the Kconfig
> configuration process, so typical users will never see it nor
> any of the non-standard configuration options.
> 
Ignore this. Accidentally sent. I will send out the real v3 shortly.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3 1/5] build: Env var to enable expert config options
  2016-01-07 17:29 [PATCH v3 0/5] Allow schedulers to be selectable through Kconfig Jonathan Creekmore
@ 2016-01-07 17:29 ` Jonathan Creekmore
  2016-01-08 15:43   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 5+ messages in thread
From: Jonathan Creekmore @ 2016-01-07 17:29 UTC (permalink / raw)
  To: xen-devel
  Cc: Keir Fraser, Ian Campbell, Jonathan Creekmore, Ian Jackson,
	Tim Deegan, Jan Beulich

Add an additional environment variable, defaulting to disabled,
that enables the CONFIG_EXPERT configuration option. The purpose
of the CONFIG_EXPERT configuration option is to make non-standard
Kconfig options visible during the configuration process. The
CONFIG_EXPERT option is not, itself, visible during the Kconfig
configuration process, so typical users will never see it nor
any of the non-standard configuration options.

CC: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Keir Fraser <keir@xen.org>
CC: Tim Deegan <tim@xen.org>
Signed-off-by: Jonathan Creekmore <jonathan.creekmore@gmail.com>
Reviewed-by: Doug Goldstein <cardoe@cardoe.com>

---
 xen/Kconfig  | 4 ++++
 xen/Makefile | 1 +
 2 files changed, 5 insertions(+)

diff --git a/xen/Kconfig b/xen/Kconfig
index ffe3f45..fa8b27c 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -22,3 +22,7 @@ config DEFCONFIG_LIST
 	string
 	option defconfig_list
 	default "$ARCH_DEFCONFIG"
+
+config EXPERT
+	string
+	option env="XEN_CONFIG_EXPERT"
diff --git a/xen/Makefile b/xen/Makefile
index 9023863..4950afb 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -11,6 +11,7 @@ export XEN_DOMAIN	?= $(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) |
 export XEN_BUILD_DATE	?= $(shell LC_ALL=C date)
 export XEN_BUILD_TIME	?= $(shell LC_ALL=C date +%T)
 export XEN_BUILD_HOST	?= $(shell hostname)
+export XEN_CONFIG_EXPERT ?= n
 
 export BASEDIR := $(CURDIR)
 export XEN_ROOT := $(BASEDIR)/..
-- 
2.6.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 1/5] build: Env var to enable expert config options
  2016-01-07 17:29 ` [PATCH v3 1/5] build: Env var to enable expert config options Jonathan Creekmore
@ 2016-01-08 15:43   ` Konrad Rzeszutek Wilk
  0 siblings, 0 replies; 5+ messages in thread
From: Konrad Rzeszutek Wilk @ 2016-01-08 15:43 UTC (permalink / raw)
  To: Jonathan Creekmore
  Cc: Keir Fraser, Ian Campbell, Tim Deegan, Ian Jackson, Jan Beulich,
	xen-devel

On Thu, Jan 07, 2016 at 11:29:17AM -0600, Jonathan Creekmore wrote:
> Add an additional environment variable, defaulting to disabled,
> that enables the CONFIG_EXPERT configuration option. The purpose
> of the CONFIG_EXPERT configuration option is to make non-standard
> Kconfig options visible during the configuration process. The
> CONFIG_EXPERT option is not, itself, visible during the Kconfig
> configuration process, so typical users will never see it nor
> any of the non-standard configuration options.
> 
> CC: Ian Campbell <ian.campbell@citrix.com>
> CC: Ian Jackson <ian.jackson@eu.citrix.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Keir Fraser <keir@xen.org>
> CC: Tim Deegan <tim@xen.org>
> Signed-off-by: Jonathan Creekmore <jonathan.creekmore@gmail.com>
> Reviewed-by: Doug Goldstein <cardoe@cardoe.com>

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> ---
>  xen/Kconfig  | 4 ++++
>  xen/Makefile | 1 +
>  2 files changed, 5 insertions(+)
> 
> diff --git a/xen/Kconfig b/xen/Kconfig
> index ffe3f45..fa8b27c 100644
> --- a/xen/Kconfig
> +++ b/xen/Kconfig
> @@ -22,3 +22,7 @@ config DEFCONFIG_LIST
>  	string
>  	option defconfig_list
>  	default "$ARCH_DEFCONFIG"
> +
> +config EXPERT
> +	string
> +	option env="XEN_CONFIG_EXPERT"
> diff --git a/xen/Makefile b/xen/Makefile
> index 9023863..4950afb 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -11,6 +11,7 @@ export XEN_DOMAIN	?= $(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) |
>  export XEN_BUILD_DATE	?= $(shell LC_ALL=C date)
>  export XEN_BUILD_TIME	?= $(shell LC_ALL=C date +%T)
>  export XEN_BUILD_HOST	?= $(shell hostname)
> +export XEN_CONFIG_EXPERT ?= n
>  
>  export BASEDIR := $(CURDIR)
>  export XEN_ROOT := $(BASEDIR)/..
> -- 
> 2.6.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-01-08 15:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-07 17:15 [PATCH v3 0/5] Allow schedulers to be selectable through Kconfig Jonathan Creekmore
2016-01-07 17:15 ` [PATCH v3 1/5] build: Env var to enable expert config options Jonathan Creekmore
2016-01-07 17:17   ` Jonathan Creekmore
  -- strict thread matches above, loose matches on Subject: below --
2016-01-07 17:29 [PATCH v3 0/5] Allow schedulers to be selectable through Kconfig Jonathan Creekmore
2016-01-07 17:29 ` [PATCH v3 1/5] build: Env var to enable expert config options Jonathan Creekmore
2016-01-08 15:43   ` Konrad Rzeszutek Wilk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).