[dpdk-dev] [PATCH v1] net/af_xdp: support need wakeup feature

Ye Xiaolong xiaolong.ye at intel.com
Mon Jun 17 17:39:06 CEST 2019


On 06/17, David Marchand wrote:
>On Mon, Jun 17, 2019 at 10:45 AM Ye Xiaolong <xiaolong.ye at intel.com> wrote:
>
>> On 06/17, David Marchand wrote:
>> >On Mon, Jun 17, 2019 at 9:42 AM Xiaolong Ye <xiaolong.ye at intel.com>
>> wrote:
>> >
>> >> This patch adds a new devarg to support the need_wakeup flag for Tx and
>> >> fill rings, when this flag is set by the driver, it means that the
>> >> userspace application has to explicitly wake up the kernel Rx or kernel
>> Tx
>> >> processing by issuing a syscall. Poll() can wake up both and sendto() or
>> >> its alternatives will wake up Tx processing only.
>> >>
>> >> This feature is to provide efficient support for case that application
>> and
>> >> driver are executing on the same core.
>> >>
>> >> Signed-off-by: Xiaolong Ye <xiaolong.ye at intel.com>
>> >> ---
>> >>
>> >> Original busy poll feature has morphed into need_wakeup flag in
>> >> kernel side, the main purpose is the same, that is to support both
>> >> application and driver executing on the same core efficiently.
>> >>
>> >> kernel side patchset can be found at netdev mailing list.
>> >>
>> >>
>> https://lore.kernel.org/netdev/CAJ8uoz2szX=+JXXAMyuVmvSsMXZuDqp6a8rjDQpTioxbZwxFmQ@mail.gmail.com/T/#t
>> >>
>> >> It is targeted for v5.3
>> >>
>> >
>> >- Is this really optional? Adding too many options is just a nightmare
>> >later...
>>
>> Hmm, I think we can remove this option and alway turn the need_wakeup flag
>> on
>> since it provides better performance for 1 core case and doesn't downgrage
>> the
>> 2 core case performance.
>>
>> >
>> >- I suppose this will break compilation with kernels that have af_xdp but
>> >are < 5.3.
>>
>> Yes, that is true. It will break the compilation with early kernel, I feel
>> it's
>> sort of common issue, we enable some features in dpdk that's based on
>> kernel
>> features, then kernel side features keep evolving, we need to keep the
>> pace,
>> but it will hurt the compatiblity with the old kernel.
>>
>> What's dpdk's convention for handling this kind of case? Add some notes in
>> doc
>> to reminder the prerequisite or use the KERNEL_VERSION macro in code?
>>
>
>Rather than a kernel version, you can check that XDP_USE_NEED_WAKEUP is
>defined (present in the uapi kernel header).

Sounds better, will try.

Thanks,
Xiaolong
>
>
>-- 
>David Marchand


More information about the dev mailing list