diff mbox series

[v3,1/2] cgroup/cpuset: export cpuset_cpus_allowed()

Message ID 20240606151017.41623-2-fgriffo@amazon.co.uk (mailing list archive)
State New, archived
Headers show
Series vfio/pci: add msi interrupt affinity support | expand

Commit Message

Fred Griffoul June 6, 2024, 3:10 p.m. UTC
A subsequent patch calls cpuset_cpus_allowed() in the vfio driver pci
code. Export the symbol to be able to build the vfio driver as a kernel
module.

Signed-off-by: Fred Griffoul <fgriffo@amazon.co.uk>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202406060731.L3NSR1Hy-lkp@intel.com/
---
 kernel/cgroup/cpuset.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Waiman Long June 6, 2024, 3:45 p.m. UTC | #1
On 6/6/24 11:10, Fred Griffoul wrote:
> A subsequent patch calls cpuset_cpus_allowed() in the vfio driver pci
> code. Export the symbol to be able to build the vfio driver as a kernel
> module.
>
> Signed-off-by: Fred Griffoul <fgriffo@amazon.co.uk>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202406060731.L3NSR1Hy-lkp@intel.com/
> ---
>   kernel/cgroup/cpuset.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> index 4237c8748715..9fd56222aa4b 100644
> --- a/kernel/cgroup/cpuset.c
> +++ b/kernel/cgroup/cpuset.c
> @@ -4764,6 +4764,7 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask)
>   	rcu_read_unlock();
>   	spin_unlock_irqrestore(&callback_lock, flags);
>   }
> +EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);
>   
>   /**
>    * cpuset_cpus_allowed_fallback - final fallback before complete catastrophe.

LGTM

Acked-by: Waiman Long <longman@redhat.com>
Tejun Heo June 7, 2024, 4:28 p.m. UTC | #2
On Thu, Jun 06, 2024 at 11:45:37AM -0400, Waiman Long wrote:
> 
> On 6/6/24 11:10, Fred Griffoul wrote:
> > A subsequent patch calls cpuset_cpus_allowed() in the vfio driver pci
> > code. Export the symbol to be able to build the vfio driver as a kernel
> > module.
> > 
> > Signed-off-by: Fred Griffoul <fgriffo@amazon.co.uk>
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202406060731.L3NSR1Hy-lkp@intel.com/
> > ---
> >   kernel/cgroup/cpuset.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> > index 4237c8748715..9fd56222aa4b 100644
> > --- a/kernel/cgroup/cpuset.c
> > +++ b/kernel/cgroup/cpuset.c
> > @@ -4764,6 +4764,7 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask)
> >   	rcu_read_unlock();
> >   	spin_unlock_irqrestore(&callback_lock, flags);
> >   }
> > +EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);
> >   /**
> >    * cpuset_cpus_allowed_fallback - final fallback before complete catastrophe.
> 
> LGTM
> 
> Acked-by: Waiman Long <longman@redhat.com>

Acked-by: Tejun Heo <tj@kernel.org>

If more convenient, please feel free to route the patch with the rest of the
series. If you want it applied to the cgroup tree, please let me know.

Thanks.
Frederic Griffoul June 7, 2024, 6:18 p.m. UTC | #3
Thanks. Unfortunately exporting cpuset_cpus_allowed() is not enough.
When CONFIG_CPUSETS is _not_ defined, the function is inline to return
task_cpu_possible_mask(). On arm64 the latter checks the static key
arm64_mismatched_32bit_el0, and thus this symbol must be exported too.

I wonder whether it would be better to avoid inlining cpuset_cpus_allowed()
in this case.

Br,

Fred

On Fri, Jun 7, 2024 at 5:29 PM Tejun Heo <tj@kernel.org> wrote:
>
> On Thu, Jun 06, 2024 at 11:45:37AM -0400, Waiman Long wrote:
> >
> > On 6/6/24 11:10, Fred Griffoul wrote:
> > > A subsequent patch calls cpuset_cpus_allowed() in the vfio driver pci
> > > code. Export the symbol to be able to build the vfio driver as a kernel
> > > module.
> > >
> > > Signed-off-by: Fred Griffoul <fgriffo@amazon.co.uk>
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Closes: https://lore.kernel.org/oe-kbuild-all/202406060731.L3NSR1Hy-lkp@intel.com/
> > > ---
> > >   kernel/cgroup/cpuset.c | 1 +
> > >   1 file changed, 1 insertion(+)
> > >
> > > diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> > > index 4237c8748715..9fd56222aa4b 100644
> > > --- a/kernel/cgroup/cpuset.c
> > > +++ b/kernel/cgroup/cpuset.c
> > > @@ -4764,6 +4764,7 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask)
> > >     rcu_read_unlock();
> > >     spin_unlock_irqrestore(&callback_lock, flags);
> > >   }
> > > +EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);
> > >   /**
> > >    * cpuset_cpus_allowed_fallback - final fallback before complete catastrophe.
> >
> > LGTM
> >
> > Acked-by: Waiman Long <longman@redhat.com>
>
> Acked-by: Tejun Heo <tj@kernel.org>
>
> If more convenient, please feel free to route the patch with the rest of the
> series. If you want it applied to the cgroup tree, please let me know.
>
> Thanks.
>
> --
> tejun
diff mbox series

Patch

diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 4237c8748715..9fd56222aa4b 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -4764,6 +4764,7 @@  void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask)
 	rcu_read_unlock();
 	spin_unlock_irqrestore(&callback_lock, flags);
 }
+EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);
 
 /**
  * cpuset_cpus_allowed_fallback - final fallback before complete catastrophe.