答复: [PATCH] virtio_net: reduce raw_smp_processor_id() calling in virtnet_xdp_get_sq

Michael S. Tsirkin
Tue, 31 Aug 2021 14:33:56 -0000

On Tue, Aug 31, 2021 at 02:09:36AM +0000, Li,Rongqing
wrote:
> > -----????-----
> > ???: Michael S. Tsirkin <mst at redhat.com>
> > ????: 2021?8?31? 5:10
> > ???: Li,Rongqing <lirongqing at baidu.com>
> > ??: netdev at vger.kernel.org; bpf at vger.kernel.org;
> > virtualization at lists.linux-foundation.org
> > ??: Re: [PATCH] virtio_net: reduce raw_smp_processor_id() calling in
> > virtnet_xdp_get_sq
> >
> > On Thu, Aug 26, 2021 at 04:21:35PM +0800, Li RongQing wrote:
> > > smp_processor_id()/raw* will be called once each when not more
queues
> > > in virtnet_xdp_get_sq() which is called in non-preemptible
context, so
> > > it's safe to call the function
> > > smp_processor_id() once.
> > >
> > > Signed-off-by: Li RongQing <lirongqing at baidu.com>
> >
> > commit log should probably explain why it's a good idea to replace
> > raw_smp_processor_id with smp_processor_id in the case of
curr_queue_pairs
> > <= nr_cpu_ids.
> >
>
>
> I change it as below, is it ok?
>
>     virtio_net: reduce raw_smp_processor_id() calling in virtnet_xdp_get_sq

shorter:

virtio_net: s/raw_smp_processor_id/smp_processor_id/ in virtnet_xdp_get_sq


>
>     smp_processor_id() and raw_smp_processor_id() are called once
>     each in virtnet_xdp_get_sq(), when curr_queue_pairs <= nr_cpu_ids,
>     should be merged

I'd just drop this part.

>
>     virtnet_xdp_get_sq() is called in non-preemptible context, so
>     it's safe to call the function smp_processor_id(), and keep
>     smp_processor_id(), and remove the calling of raw_smp_processor_id(),
>     avoid the wrong use virtnet_xdp_get_sq to preemptible context
>     in the future

s/avoid.*/this way we'll get a warning if this is ever called in a
preemptible context/


>
> -Li