From patchwork Fri Jun 4 21:18:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Traynor X-Patchwork-Id: 1488114 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=ShD9M/Qf; dkim-atps=neutral Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FxbHm4rF6z9sRK for ; Sat, 5 Jun 2021 07:19:32 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 765A84157F; Fri, 4 Jun 2021 21:19:30 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R4psjstDH5mE; Fri, 4 Jun 2021 21:19:26 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTP id 8BC0D40694; Fri, 4 Jun 2021 21:19:25 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 58D64C000D; Fri, 4 Jun 2021 21:19:25 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 771C0C0001 for ; Fri, 4 Jun 2021 21:19:24 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 3C28740106 for ; Fri, 4 Jun 2021 21:19:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=redhat.com Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0nQGw8RTCNB0 for ; Fri, 4 Jun 2021 21:19:20 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by smtp2.osuosl.org (Postfix) with ESMTPS id 0FE93401B4 for ; Fri, 4 Jun 2021 21:19:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1622841558; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I8a/AipJJW9/EsKtb5pIcwSm1h7h7EiPcOWVFGaf0zE=; b=ShD9M/QfIqU9GiPGimfdQNA6A5GGUP5s+nuvtlGNmtQdddrZMSAyMhFi8yv/emISo48MHs WF4FZnt11IfSTjunTQ0RqfGHg5GA7Ao5f8Q1q50p6CmUIJcXyxQ2P/RI2JERCoGnbzjPXN XjD3rtFC2Ch32L5OYyvvE/pVJXnoJN0= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-365-l6ekTjEqMWeISo-t16LZ6w-1; Fri, 04 Jun 2021 17:19:17 -0400 X-MC-Unique: l6ekTjEqMWeISo-t16LZ6w-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5F7AA801B13; Fri, 4 Jun 2021 21:19:16 +0000 (UTC) Received: from rh.redhat.com (ovpn-114-242.ams2.redhat.com [10.36.114.242]) by smtp.corp.redhat.com (Postfix) with ESMTP id CF4421007606; Fri, 4 Jun 2021 21:19:11 +0000 (UTC) From: Kevin Traynor To: dev@openvswitch.org Date: Fri, 4 Jun 2021 22:18:51 +0100 Message-Id: <20210604211856.915563-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Cc: david.marchand@redhat.com Subject: [ovs-dev] [PATCH 0/5] Rxq scheduling updates. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" The first two patches do not provide new functionality for the user (except the logs are reworked). They are reworking to make the rxq scheduling and PMD auto load balance code more modular for cleanup and to be used by subsequent patches. They are also removing the code duplication between them by having some common functions they can both use. 1/5 reworks the current rxq scheduling code to make it more modular and reusable. 2/5 makes PMD auto load balance reuse the common rxq scheduling code and removes the duplication of the rxq scheduling code in PMD auto load balance for making a dry run. 3/5 adds a new option to assign rxqs to pmds that incorporates the estimated load of the PMD and removes the restriction for trying to equally distribute the number of rxqs across the PMDs. This means it is solely load based so will help optimize balancing the processing load across the PMDs. With this method, a group of low loaded rxqs may be on one PMD, while another PMD could have just one highly loaded rxq. 4/5 provides a fallback for if the user tries to pin an rxq to a PMD with pmd-rxq-affinity but the PMD is not in the pmd-cpu-mask. Previously it was not polled. 5/5 adds an option to non-isolate the PMD when it is pinned with an rxq using pmd-rxq-affinity. Kevin Traynor (5): dpif-netdev: Rework rxq scheduling code. dpif-netdev: Make PMD auto load balance use common rxq scheduling. dpif-netdev: Add group rxq scheduling assignment type. dpif-netdev: Assign PMD for failed pinned rxqs. dpif-netdev: Allow pin rxq and non-isolate PMD. Documentation/topics/dpdk/pmd.rst | 41 +- lib/dpif-netdev.c | 1121 ++++++++++++++++++----------- tests/pmd.at | 7 +- vswitchd/vswitch.xml | 24 +- 4 files changed, 781 insertions(+), 412 deletions(-)