Skip to content

Commit

Permalink
net: Decouple HK_FLAG_WQ and HK_FLAG_DOMAIN cpumask fetch
Browse files Browse the repository at this point in the history
To prepare for supporting each feature of the housekeeping cpumask
toward cpuset, prepare each of the HK_FLAG_* entries to move to their
own cpumask with enforcing to fetch them individually. The new
constraint is that multiple HK_FLAG_* entries can't be mixed together
anymore in a single call to housekeeping cpumask().

This will later allow, for example, to runtime modify the cpulist passed
through "isolcpus=", "nohz_full=" and "rcu_nocbs=" kernel boot
parameters.

Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Juri Lelli <juri.lelli@redhat.com>
Reviewed-by: Phil Auld <pauld@redhat.com>
Link: https://lore.kernel.org/r/20220207155910.527133-4-frederic@kernel.org
  • Loading branch information
Frederic Weisbecker authored and Peter Zijlstra committed Feb 16, 2022
1 parent 7b45b51 commit c8fb9f2
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions net/core/net-sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ static ssize_t store_rps_map(struct netdev_rx_queue *queue,
{
struct rps_map *old_map, *map;
cpumask_var_t mask;
int err, cpu, i, hk_flags;
int err, cpu, i;
static DEFINE_MUTEX(rps_map_mutex);

if (!capable(CAP_NET_ADMIN))
Expand All @@ -839,8 +839,8 @@ static ssize_t store_rps_map(struct netdev_rx_queue *queue,
}

if (!cpumask_empty(mask)) {
hk_flags = HK_FLAG_DOMAIN | HK_FLAG_WQ;
cpumask_and(mask, mask, housekeeping_cpumask(hk_flags));
cpumask_and(mask, mask, housekeeping_cpumask(HK_FLAG_DOMAIN));
cpumask_and(mask, mask, housekeeping_cpumask(HK_FLAG_WQ));
if (cpumask_empty(mask)) {
free_cpumask_var(mask);
return -EINVAL;
Expand Down

0 comments on commit c8fb9f2

Please sign in to comment.