Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1613430pxf; Fri, 19 Mar 2021 11:04:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxe4F7wOU9FnxunZpSjOlQXk4fPq543xvBxXWk+L2w4O+UTV7VbxpmtwXkvN8z7Mi1mVV2N X-Received: by 2002:a50:ed90:: with SMTP id h16mr11086058edr.101.1616177051083; Fri, 19 Mar 2021 11:04:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616177051; cv=none; d=google.com; s=arc-20160816; b=mi3GjejF78sZu/3oU30TDllit7DAFjbtwtmLW3iLFT//qEsCYrv15p9MT+A5jNXCtF JnrYyahkiZgG9KpdkNlkTBo7C355PhyBCjxx40ozlcG9JnA48ZQvS/LjqwAXz7KBmhMn YGM7HwChGW+/96kB8Bjl+v/bMcZbiO+pEwNdQf8087cTKOZxFsZ9Z6SFHryi9uYNrQrB /OYjbwGWg5ddT6zrkl60QgKeEdgA6JVadmcLwmjcUG3f8mYhrSEz7FJG9fvRNH0c42zY j8UD7Xm44najIGuBV5o1I9si8teQe5nH6CbFsjkA+FoSUFI680cA2TSMM2ssulpUDJJ6 OH1Q== 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:subject:cc:to:from:date; bh=3uM9RG6Rf+Zrr0CcC964VEX69v/OgYSxph7n5PCl9BI=; b=g3H5g0KITuLcY7ntXdAc6rgOOgpnZXAWFDDvVSDlleUkKX1lQYnojDfPSQQhetoBn7 FTigsikTNJlN25Jq41kqoAw7JGHy0lEZBqdCu3xJ1HKCeLw1x+BDFcYBIVahmS5L1zMV 3lJe2sXcctgJiabVEIQlPU3RxuSi7dGAPBjpdJrI9PLKZxsey3sQ6tPiGoWLjhnnUj3J McZ7SzMQg5WVrzESovXwe9c+OmkH9qxo6o4i2OCXWo0Fg+lonrbU78knVJYOeffsj4Fv d+vMyoQGrp2B7xluysvZkkHjbKfMIqhUgfMXFIZwhQBlFTMVNC5rWTikgq9bhN0+jIBm xM9Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i24si4850035ejf.53.2021.03.19.11.03.48; Fri, 19 Mar 2021 11:04:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230219AbhCSSAU (ORCPT + 99 others); Fri, 19 Mar 2021 14:00:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:48428 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230255AbhCSSAI (ORCPT ); Fri, 19 Mar 2021 14:00:08 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 429986197F; Fri, 19 Mar 2021 18:00:07 +0000 (UTC) Date: Fri, 19 Mar 2021 14:00:05 -0400 From: Steven Rostedt To: Peter Zijlstra Cc: Josh Poimboeuf , x86@kernel.org, jbaron@akamai.com, ardb@kernel.org, linux-kernel@vger.kernel.org, sumit.garg@linaro.org, oliver.sang@intel.com, jarkko@kernel.org, jeyu@kernel.org Subject: Re: [PATCH 3/3] static_call: Fix static_call_update() sanity check Message-ID: <20210319140005.7ececb11@gandalf.local.home> In-Reply-To: References: <20210318113156.407406787@infradead.org> <20210318113610.739542434@infradead.org> <20210318161308.vu3dhezp2lczch6f@treble> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 19 Mar 2021 13:57:38 +0100 Peter Zijlstra wrote: > Jessica, can you explain how !MODULE_UNLOAD is supposed to work? > Alternatives, jump_labels and static_call all can have relocations into > __exit code. Not loading it at all would be BAD. According to the description: " Without this option you will not be able to unload any modules (note that some modules may not be unloadable anyway), which makes your kernel smaller, faster and simpler. If unsure, say Y." Seems there's no reason to load the "exit" portion, as that's what makes it "smaller". Would making __exit code the same as init code work? That is, load it just like module init code is loaded, and free it when the init code is freed (hopefully keeping the kernel still "smaller, faster and simpler"). -- Steve