From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C4747C2B9F4 for ; Thu, 17 Jun 2021 05:40:11 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 46CE4613DF for ; Thu, 17 Jun 2021 05:40:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 46CE4613DF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:54006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ltkl8-0004hv-3D for qemu-devel@archiver.kernel.org; Thu, 17 Jun 2021 01:40:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33626) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltkjE-00040f-Q8 for qemu-devel@nongnu.org; Thu, 17 Jun 2021 01:38:12 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:51708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltkjC-0002oY-3V for qemu-devel@nongnu.org; Thu, 17 Jun 2021 01:38:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623908288; 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=x1hae8vB/MHA1B3VFPw/n5jJXyHK2ThG/RvaTvTFlx8=; b=FpZfQx9U1eu/A0NW2j4Ty79tJry1Fg0iDEyVeNSFZT0wqHIUzqrnrfo1whjm+bt08sZ7vS PfytqDZU1Ma5J9WbSIKY7I8nnSYgGUiFfoFavQQXhTnMu3hGS6mmwh/2VBxoE+jnGXyY4g 8RvqFdW9fPql87JY7HYjVa2oZj1LmZw= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-425-fxFkRhOeMVu1hvYy-zWUnA-1; Thu, 17 Jun 2021 01:38:07 -0400 X-MC-Unique: fxFkRhOeMVu1hvYy-zWUnA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9205DDF8A3; Thu, 17 Jun 2021 05:38:05 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-38.ams2.redhat.com [10.36.112.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9DA596090F; Thu, 17 Jun 2021 05:38:01 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 0D21F18000B2; Thu, 17 Jun 2021 07:37:59 +0200 (CEST) Date: Thu, 17 Jun 2021 07:37:59 +0200 From: Gerd Hoffmann To: Claudio Fontana Subject: Re: [PATCH 0/4] modules: add support for target-specific modules. Message-ID: <20210617053759.uibvdpu2wtq3fqwv@sirius.home.kraxel.org> References: <20210610101553.943689-1-kraxel@redhat.com> <5953598.eXybCX72BP@pizza> <20210615050930.bmgup2axfr7sqvoa@sirius.home.kraxel.org> <2963309.4TrVdrBa0x@pizza> <20210616092815.rjznyjnvgrrfojq6@sirius.home.kraxel.org> MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -29 X-Spam_score: -3.0 X-Spam_bar: --- X-Spam_report: (-3.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.199, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S. Tsirkin" , Christian Schoenebeck , Greg Kurz , "qemu-devel@nongnu.org" , =?utf-8?B?Sm9zw6k=?= Ricardo Ziviani , Paolo Bonzini , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Hi, > >> However, please correct me if I'm wrong, I understand that an accelerator as a > >> module will add an overhead that some user won't be willing to pay. So, give > >> them the option to have built-in accelerators seems a good idea. > > > > Modules add some overhead, yes, and there are surely use-cases where you > > Where do we expect the overhead to be, and of which nature? The dynamic linking needed then when loading the module adds a bit of overhead (compared to static linked code). Increases qemu start time a bit. On the other hand the start overhead can be reduced by modules, specifically for the case that a module depends on shared libraries and is *not* needed. With for example gtk being modular the gtk shared libraries (plus indirect dependencies like pango, cairo etc) are only loaded when you actually use gtk, whereas a non-modular build would load them no matter what. The code reorganization needed for modularization can add some overhead too, when using function pointers instead of direct calls for example (see QemuSpiceOps). That overhead doesn't go away when you do a non-modular build though ... take care, Gerd