Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp5974782rwd; Mon, 5 Jun 2023 11:02:57 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ45KbPfsKtA3SUQ3u7X2RRQDHNU1przGoIsr2RF/QAWVUhkhUKV6D13lMqGIF+J4tDwGyeW X-Received: by 2002:a05:6a20:440c:b0:103:ef39:a832 with SMTP id ce12-20020a056a20440c00b00103ef39a832mr4711456pzb.23.1685988176871; Mon, 05 Jun 2023 11:02:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685988176; cv=none; d=google.com; s=arc-20160816; b=xSMuRKn+AtydVcj7hIdSxdYi0YuVcncd2+MUVOg2RfhHChKlbCF/g3+hjbzjvzRBFm k+OeEFNpyL/AEV22N2VdRDY75X5mmxT4r5ly3NfGCKM4LRlULGgpgRjadmpL5NOo2vqY x4vUDJsW0ujCTkvKxqEL06LS0ipXnzdaxJ7FmtX0kNZGYXFVWiVSBDeYOktjGEMgkx3l wRIQbOYj+ptwL4G4mEvGz/g6hdaa1HiKl7cInz0IEpCBdddV/mYRhKi4IVhcUHpUwnnX FYgiLVgKBpSGKdEPxO4OFAOHo66wV8pyfS7bGKuRqn2i9MdHUAet/AS8NVuWH/SUKP3X DYTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=rxkSm+r2MuxwffE6LSORNENjYZAwM8TRdnyWWwPwchc=; b=vUJaO8oe/jbwqb7LGcLJia9i97s8K65ixLqFwFwqx9JWJUUrOQkp7iiNTZxq4JGwdR qu3ggNweNmc9bovMSlLFAIX/mI8RO7zY/4ZwsASboKG6QZZi6mjxywIbqE9tGY3+cwHN qDxvFGOzitYS5I+44GxBNqarewXnWwyqbaY9pIEPWB9Xug94iiisTOWVMpmgKjK/5sEk 13gM7hnOVBoZXBOyXAINe86Si8/sf0eNLdunlcyTkiiTavZVc2u/r14mlwtmdSZXXdSH pBBDPME65jM3edIOxZG8Fe+kgE/5MGMr1htsdmkAwZf5o+4RiHRHckuxexezP2IhOrAR tcwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=TVAJdJlh; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=7ZI8NSDx; 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=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j190-20020a6380c7000000b00540ca2b00c8si5915292pgd.737.2023.06.05.11.02.41; Mon, 05 Jun 2023 11:02:56 -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=@linutronix.de header.s=2020 header.b=TVAJdJlh; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=7ZI8NSDx; 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=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234958AbjFERwR (ORCPT + 99 others); Mon, 5 Jun 2023 13:52:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234879AbjFERwP (ORCPT ); Mon, 5 Jun 2023 13:52:15 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5B80CF1; Mon, 5 Jun 2023 10:52:13 -0700 (PDT) From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1685987532; 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: in-reply-to:in-reply-to:references:references; bh=rxkSm+r2MuxwffE6LSORNENjYZAwM8TRdnyWWwPwchc=; b=TVAJdJlhkwGrJTj6GIv6umSELa1bW+XbBLNGHMqp/PMHZdJA8ri6hJ56J+IebrHo8ysVu4 xM6MllWATCE9e4t51WQ3TO1ZZpbvfDQDCnpUlgVuIrp3h3OQAXf5zjnFxhe1Fa7qZdlknF zapYsNPLIaxIiYj2im+pGdQnS1j3+UMImJiaExzr4uMQmvB3PI5B7S8fBRXkTIosHTWKKv fPM+b84hZFhGd5VMDGEa+b8x8qU1nEgXHl+8ONloLrpGJr9WFqjckPtSnXi6lCo166Bu8H 9YpyOEBtjhd0t3TPZQsMGByGi6+Sp1CcCXSW97CdoNpZ/3RV3tfXjYyqNF3jDw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1685987532; 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: in-reply-to:in-reply-to:references:references; bh=rxkSm+r2MuxwffE6LSORNENjYZAwM8TRdnyWWwPwchc=; b=7ZI8NSDxrLNaC0GpYEEIG6FRMHOZfxz5I/RhObVSqmkVGUbij1umlLQHz8Uxotjrrodo66 5lXvMh5SrTaorkDg== To: Xin Li , linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org Cc: mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, peterz@infradead.org, andrew.cooper3@citrix.com, seanjc@google.com, pbonzini@redhat.com, ravi.v.shankar@intel.com, jiangshanlai@gmail.com, shan.kang@intel.com Subject: Re: [PATCH v8 05/33] x86/traps: add external_interrupt() to dispatch external interrupts In-Reply-To: <87ttvm6s2v.ffs@tglx> References: <20230410081438.1750-1-xin3.li@intel.com> <20230410081438.1750-6-xin3.li@intel.com> <87ttvm6s2v.ffs@tglx> Date: Mon, 05 Jun 2023 19:52:11 +0200 Message-ID: <87wn0h4x10.ffs@tglx> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 On Mon, Jun 05 2023 at 13:56, Thomas Gleixner wrote: > On Mon, Apr 10 2023 at 01:14, Xin Li wrote: > How is this supposed to work once the vector space gets extended in a > later version of FRED? > > Can we please think about this _now_ and not rewrite all of this two > years down the road? > > Even if that's not fully specified yet, here is the obvious question: > > What are we going to do with the system vectors. Are they going to > stay just in the middle of the expanded vector space? > > That would be completely non-sensical as we'd end up with yet another > segmentation of the vector space. > > So the obvious solution is to segment the vector space in the following > way: > > 0 - 31 Exceptions/traps - Cannot be moved > 32 IRQ_MOVE_CLEANUP_VECTOR > 33 - X System vectors including APIC_SPURIOUS > X+1 - MAX External interrupts > > This spares the IRQ_MOVE_CLEANUP_VECTOR hackery. It requires to move the > ISA vectors, but that's not rocket science. Which we just discussed completely away. :) > That makes the external interrupt vector space trivially expandable, no? So there is a theoretical problem here that device interrupts could starve system vectors due to the priority scheme. Needs some thought. That whole APIC priority muck is pretty useless as long as CR8 writes are slower than sti/cli. When I tested that last (Broadwell) they were significantly slower. Also it's unclear how that expansion vector space is handled vs. priorities. Ideally event delivery would be FIFO because that's the only guarantee for preventing starvation without having to configure priorities (which is mostly a wrong guess anyway). Thanks, tglx