On 2020/5/6 下午4:08, Michael S. Tsirkin wrote:
So for mergeable bufs, we use ewma machinery to guess the correct buffer size. If we don't guess correctly, XDP has to do aggressive copies. Problem is, xdp paths do not update the ewma at all, except sometimes with XDP_PASS. So whatever we happen to have before we attach XDP, will mostly stay around.
It looks ok to me since we always use PAGE_SIZE when XDP is enabled in get_mergeable_buf_len()?
Thanks
The fix is probably to update ewma unconditionally.