Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2314005rdg; Sun, 15 Oct 2023 23:29:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGM7GPBgWlnHgU4wbCNK6h16S0RmPn6NhEFnp6Kzr/YmhkwKcK/0BH5O5QYsuQcHPTH3EwQ X-Received: by 2002:a92:c6c2:0:b0:357:8d71:347f with SMTP id v2-20020a92c6c2000000b003578d71347fmr414224ilm.8.1697437747763; Sun, 15 Oct 2023 23:29:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697437747; cv=none; d=google.com; s=arc-20160816; b=LQmrVqHKbilnruG+Qx5fAbXRMH+TuvQTJkwDW/3TK+Piy+//Qj5oJTGi1TK9lFViaU /8mXYhlKJfwdCTyPMf8E2C/ZWeTK4A2YRXbRYT6icoUK8+guaNlcoKI4f4C+iwQGVqnP ko3l0ztOZM13fRqu21jZxyoYCbtm9bLgro0vlJTq2fNn++u75BqLeUUblF8xzrfpQiHZ 05I6bDeasI7O2PMRBg2CLzwd+GksoUEO4pym9aoFEKrFsw+65QR6aXPMk1O0y9oVYGCS ICWASbh+bshdvTBXcFzdfnhP4CB6EQIjNQu0+S1sJV1nomXK54PdeUhM3p2Qk3dBrW08 9zzA== 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:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id bx5-20020a056a02050500b005aa0e024d62si7614671pgb.102.2023.10.15.23.29.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 15 Oct 2023 23:29:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; 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:4 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 howler.vger.email (Postfix) with ESMTP id AC89C8055AC1; Sun, 15 Oct 2023 23:29:02 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229574AbjJPG2p (ORCPT + 99 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 Content-Transfer-Encoding: 8bit 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 howler.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 (howler.vger.email [0.0.0.0]); Sun, 15 Oct 2023 23:29:03 -0700 (PDT) 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 --- 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); -- 2.35.3