From patchwork Mon Oct 16 06:28:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 153210 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:2908:b0:403:3b70:6f57 with SMTP id ib8csp3269996vqb; Sun, 15 Oct 2023 23:29:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF4AVAR2foFdyAb012Gempoiefx/d8jzoWogoYfd+v/+3Klou/IHIJUSWE+h29MAqdeIwsZ X-Received: by 2002:a05:6a20:1584:b0:15d:f804:6907 with SMTP id h4-20020a056a20158400b0015df8046907mr39367109pzj.0.1697437743590; Sun, 15 Oct 2023 23:29:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697437743; cv=none; d=google.com; s=arc-20160816; b=fPAEzki4KysoTvBzSFoxbBOhQOv9YyPfiqxZxbsx+9eDwbpg9GU76DrgyY9gp2tVU9 qDMzDOwhof6NO958MVPEDxFVlgAbRzgrWFpoJ0renj8k9vMKOlG/WQWqPuzfNyW8vAiF f+U/f7xNKxmckNtICZTWT+NOUVxKQj4MFw5jKLpe5eTqvFlG6UR+JETaG1qdWrD/ng2w KL+qOwC+4xm+PuhsJ0sJ6sRQBjTxmdboC6vIX0YpjE8e5I05cSyKgPXqACHXzj5rsheS seYOujgX8XQC+1rhdu7vOktKbYAN//Q0FdhZvN9Im2//94EZ2ByWm3KjGQlk8QhM2zge sPfg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hBgTSni+I3ppK49nD/tnBJmLcv3aLmPun9In8njDCy4=; fh=JDIHJuAaTF0GsRsOs4IpvpCgExwS1t6l9zfZUQwb4V8=; b=MWWwOXnbgbpIfCBNJUngJciclBIqNBkVmdqdeoDyDllazFWZ4bmcF1qHn/Aw/Bdnwl M9j6I6sw6e7hfIQWvXZWLt7nHGNxx8G/TpwOBQWnnZblJfWCjN8T6viLX9gC07UfntqE 3pJCodQk4/1B2FDp1P1aKCPG5kYQ7rcrZtyt871qLFPx4kHYuNglGME58XkSBE4rFrfK ObwAwdu97U+/Ho+bSENA+1m6RrMMBNwb/hh3OeYtMw2RwLf+Mts5CsiNhLgKzKDJQRBw yKfRomB9LOahchGMM3N44xv0E/hIwZQT9HNnV1S59Bn/YHCLECwfUbkU9VVD0FTH/Zx7 PjyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=a2PTjcLx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id az1-20020a056a02004100b005acd5108042si6165930pgb.521.2023.10.15.23.29.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Oct 2023 23:29:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=a2PTjcLx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 457E080C3473; Sun, 15 Oct 2023 23:29:01 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229791AbjJPG2p (ORCPT + 18 others); Mon, 16 Oct 2023 02:28:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58690 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229668AbjJPG2o (ORCPT ); Mon, 16 Oct 2023 02:28:44 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67BEBAD for ; Sun, 15 Oct 2023 23:28:42 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id B07521FEA9; Mon, 16 Oct 2023 06:28:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1697437720; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hBgTSni+I3ppK49nD/tnBJmLcv3aLmPun9In8njDCy4=; b=a2PTjcLx1p3n+4hZ7IAIhiXuz/Snwz7VPD7EqdwyTSPjCbWUn8tdXHUncYrCMvyKRL0rcT r9mYbUivhp5VqGCYn9sjH+CjQFqXlFJoxaqnbswv1xpSd/mF8WodAQMg6vXmRBWH2jFjc5 3lqtPANzQIFlmSNxeB+rjvNRm8UAdM0= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7FACD138EF; Mon, 16 Oct 2023 06:28:40 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id ++vdHRjYLGWEQQAAMHmgww (envelope-from ); Mon, 16 Oct 2023 06:28:40 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org Cc: Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , xen-devel@lists.xenproject.org, Jan Beulich Subject: [PATCH 1/7] xen/events: fix delayed eoi list handling Date: Mon, 16 Oct 2023 08:28:25 +0200 Message-Id: <20231016062831.20630-2-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20231016062831.20630-1-jgross@suse.com> References: <20231016062831.20630-1-jgross@suse.com> MIME-Version: 1.0 Authentication-Results: smtp-out2.suse.de; none X-Spam-Level: X-Spam-Score: -3.05 X-Spamd-Result: default: False [-3.05 / 50.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; BAYES_SPAM(0.05)[55.71%]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; REPLY(-4.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; RCPT_COUNT_FIVE(0.00)[6]; NEURAL_HAM_LONG(-3.00)[-1.000]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Sun, 15 Oct 2023 23:29:01 -0700 (PDT) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779892479196601616 X-GMAIL-MSGID: 1779892479196601616 When delaying eoi handling of events, the related elements are queued into the percpu lateeoi list. In case the list isn't empty, the elements should be sorted by the time when eoi handling is to happen. Unfortunately a new element will never be queued at the start of the list, even if it has a handling time lower than all other list elements. Fix that by handling that case the same way as for an empty list. Fixes: e99502f76271 ("xen/events: defer eoi in case of excessive number of events") Reported-by: Jan Beulich Signed-off-by: Juergen Gross Reviewed-by: Oleksandr Tyshchenko --- drivers/xen/events/events_base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c index 1b2136fe0fa5..0e458b1c0c8c 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -601,7 +601,9 @@ static void lateeoi_list_add(struct irq_info *info) spin_lock_irqsave(&eoi->eoi_list_lock, flags); - if (list_empty(&eoi->eoi_list)) { + elem = list_first_entry_or_null(&eoi->eoi_list, struct irq_info, + eoi_list); + if (!elem || info->eoi_time < elem->eoi_time) { list_add(&info->eoi_list, &eoi->eoi_list); mod_delayed_work_on(info->eoi_cpu, system_wq, &eoi->delayed, delay);