Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp22080631rwd; Fri, 30 Jun 2023 03:42:54 -0700 (PDT) X-Google-Smtp-Source: APBJJlFQx1+MoNvlmXcNqjLjoSGyFgZoeQz2lOctYFtJJzhMd5dafTtcQIZvGs3JOmVcAZUb6yaB X-Received: by 2002:a17:902:e551:b0:1b5:cbc:b4c with SMTP id n17-20020a170902e55100b001b50cbc0b4cmr1968249plf.46.1688121774182; Fri, 30 Jun 2023 03:42:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688121774; cv=none; d=google.com; s=arc-20160816; b=q61eIzicY5A6Ej0fdpZOLpM9lIfYtdh5T0H2ugx+DO4sJmzx/CqdnIdM/B5T6Df4V6 d1Rr6oKK2/qFyY1DAWTFZ0z7rg/tM7Scmer2qCFgridJxEUHOYh/EiLjKABYq6yge1+u 4Xsqn2Xet19n6E/EC66M2Vfru9ZPsYe0C7gXkP4gGylV9IZ1dWuKwP27DaxvzgNHyUzg 3F7GrOGw7ihkZBUNroO110e6OrhRi2CCLackGBCSlqhgPtvE3gGMJ4W9PUhIK1uXvVBR DUkY1xJLVoHFCpzZxcynfCIF5Tny0xRcqDHC/MGKGKm0rTnzqhw6TED0+irS8XvU59i/ LyTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=qn2GXzSHm2puRLoEUfB5VD8PuaCwtWVklsWXBuMQskI=; fh=t9UHDBAL4n5Wk0IuJNme4Bussxb2u0dTQQaTsoa3lto=; b=t7ipuKcbCYP3CRTLoyOfd/YxBClN0nD87SKpj3+EJFg+uMg+rpf5ceKlu8m52Jkdxs 1L6qhW9HND+JSoSU1eN//fmL8VpFT0opKOXSujsvmxjIN4cr1Yp5Sab3zTb9/7liToND aUx2jU5yNpZHw8w4umWuH/0HD1Yn78Gc/pMvOTmo0CBwqBLe7UEoiXobAAv/cxpjQeNQ PqASxns/AVm+xZfLzBMRCQWyCQUdokJb9OjJH5pHi8CG5dNyTCMaOW6y8UmAPXjir565 7VMEykl+VCTJa7vtXchvCWz+GryeoxuribZbOAK1CcoeJNA/sRbvJL2difwqEJgfBclQ rahw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=cYajXrKD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j13-20020a170902c3cd00b001b045d65af0si3518967plj.76.2023.06.30.03.42.40; Fri, 30 Jun 2023 03:42:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=cYajXrKD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232619AbjF3KXy (ORCPT + 99 others); Fri, 30 Jun 2023 06:23:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60504 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232569AbjF3KXu (ORCPT ); Fri, 30 Jun 2023 06:23:50 -0400 Received: from out-52.mta0.migadu.com (out-52.mta0.migadu.com [IPv6:2001:41d0:1004:224b::34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC92D358A for ; Fri, 30 Jun 2023 03:23:48 -0700 (PDT) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1688120627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=qn2GXzSHm2puRLoEUfB5VD8PuaCwtWVklsWXBuMQskI=; b=cYajXrKD/mWxV/Z+Jm4eYwbPHJDv3nUOTsg/RsGMTvw1WR+pfx3rnZs6S1PFr20H9uyLro 535XMh8Eu4bJWVm1PidfeUMbHbggjRA2UGbcvjh3rmGzJjyuJsvaAhvEH70u2WpIK/ZGpY NEZn2JwtNrr76IP1eBuPtjRQ8qayp/A= From: Sui Jingfeng To: Bjorn Helgaas Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Sui Jingfeng Subject: [PATCH 1/2] PCI/VGA: Move the new_state assignment out the loop Date: Fri, 30 Jun 2023 18:23:42 +0800 Message-Id: <20230630102342.134919-1-sui.jingfeng@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sui Jingfeng In the vga_arbiter_notify_clients() function, the value of the 'new_state' variable will be 'false' on the systems which have more than one PCI display card. Its value will be 'true' on the systems which have only one or no PCI display card. Its value is not relevant to the iteration, so move the new_state assignment out the loop. For multiple video card systems this could be an optimization. Signed-off-by: Sui Jingfeng --- drivers/pci/vgaarb.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index ceb914245383..cbd06bbf9dd7 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -1482,22 +1482,20 @@ static void vga_arbiter_notify_clients(void) { struct vga_device *vgadev; unsigned long flags; - uint32_t new_decodes; - bool new_state; + bool state; if (!vga_arbiter_used) return; + state = (vga_count > 1) ? false : true; + spin_lock_irqsave(&vga_lock, flags); list_for_each_entry(vgadev, &vga_list, list) { - if (vga_count > 1) - new_state = false; - else - new_state = true; if (vgadev->set_decode) { - new_decodes = vgadev->set_decode(vgadev->pdev, - new_state); - vga_update_device_decodes(vgadev, new_decodes); + unsigned int decodes; + + decodes = vgadev->set_decode(vgadev->pdev, state); + vga_update_device_decodes(vgadev, decodes); } } spin_unlock_irqrestore(&vga_lock, flags); -- 2.25.1