Michael S. Tsirkin
2021-Aug-31 14:33 UTC
答复: [PATCH] virtio_net: reduce raw_smp_processor_id() calling in virtnet_xdp_get_sq
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_sqshorter: 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 mergedI'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 futures/avoid.*/this way we'll get a warning if this is ever called in a preemptible context/> > -Li