xen/sched: create public function for cpupools creation

Create new public function to create cpupools, can take as parameter
the scheduler id or a negative value that means the default Xen
scheduler will be used.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
This commit is contained in:
Luca Fancellu authored and Stefano Stabellini committed 2022-05-09 13:32:08 -07:00
1 parent 5b9647f771
commit a32769dd24
2 files changed
+31

No files matched your search

+15
View File
@@ -1219,6 +1219,21 @@ static void cpupool_hypfs_init(void)
#endif /* CONFIG_HYPFS */
struct cpupool *__init cpupool_create_pool(unsigned int pool_id, int sched_id)
{
struct cpupool *pool;
if ( sched_id < 0 )
sched_id = scheduler_get_default()->sched_id;
pool = cpupool_create(pool_id, sched_id);
BUG_ON(IS_ERR(pool));
cpupool_put(pool);
return pool;
}
static int __init cf_check cpupool_init(void)
{
unsigned int cpu;
+16
View File
@@ -1158,6 +1158,22 @@ int cpupool_move_domain(struct domain *d, struct cpupool *c);
int cpupool_do_sysctl(struct xen_sysctl_cpupool_op *op);
unsigned int cpupool_get_id(const struct domain *d);
const cpumask_t *cpupool_valid_cpus(const struct cpupool *pool);
/*
* cpupool_create_pool - Creates a cpupool
* @pool_id: id of the pool to be created
* @sched_id: id of the scheduler to be used for the pool
*
* Creates a cpupool with pool_id id.
* The sched_id parameter identifies the scheduler to be used, if it is
* negative, the default scheduler of Xen will be used.
*
* returns:
* pointer to the struct cpupool just created, or Xen will panic in case of
* error
*/
struct cpupool *cpupool_create_pool(unsigned int pool_id, int sched_id);
extern void cf_check dump_runq(unsigned char key);
void arch_do_physinfo(struct xen_sysctl_physinfo *pi);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.