Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp17543993rwd; Tue, 27 Jun 2023 04:41:14 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4iKLNZpgK0c3pnf830yX0IoenUcz5CAPFsTS8mRDdQiiV7g2CYrD2A2COdv6rUqqp3oE6H X-Received: by 2002:a17:90a:4d88:b0:25c:18ad:6b82 with SMTP id m8-20020a17090a4d8800b0025c18ad6b82mr42422668pjh.21.1687866074381; Tue, 27 Jun 2023 04:41:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687866074; cv=none; d=google.com; s=arc-20160816; b=m7f3nbAXQM41GIw0wxG+UcxHct2ua2NUY15ZznFAxS7lNjRn3OAF3Rt6XZdWrOvKpo zFmKFL4gk0+z4TZtmoDA680+sAHJ3o7nPYvK7KVpbby35D1xFh2sWAkGF6SS7jNydosb xMGJX71DAuZdF4gSYtpPPvc3jIYWlSNqwnpdwKh4VgpEdutu8LwN1LcCCpPNwP6KBe+Z TD7d5RrgfdH9kpQKgoQCL4IADsmqmSF3pzHVeMV09w4QsveeDfHrpENMukAfVUFO2+j+ u1bIZwOiNarIqRjN6TB9CcG1MX+aoXAkISH7uIPFgZxFPkYmwF991q8F21f+uT4NiY3U 30bg== 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 :dkim-signature; bh=z3IKxPFs1BQIkX2w5T79yvUtKGbSP0CVe8jQ5Yype/0=; fh=Ex3QBCpaLp9B3d0awesmKnLho7Zwu9fjF9ZlnQ5Aa0w=; b=BNt69mmUKlfWz/JD3Ha5G9Ewq3Bm1sAhvTpZQWIlUDoV1qtu84Da/p88/40O3OYfmb ZGHeYFrhx82wqrHW4/i+IQexS524YNN9lNEM5DS9ZDM5Ms7N4JtQ97SH1R1kVNdOcAUm z03GD4ELyGLjKkOAUuD5pvxW1OsNXHsFKiv1dhDmUiikpU8faHxYy5LfLfk//vCQbTJd t3U5AlTKroTttN0aY7td9TpI52Ro+REFxJNnN+hLTvblRs6RYBtTMaPhQzaRY4mch0jD mKu9Hyqgu8rB2gBkUwyJdH3qhGffEKbpombvGp0IV4jXv3+UEgQ0XtFIyZ4evytb+gzN 7oCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tesarici.cz header.s=mail header.b=pcG7sqNk; 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=NONE dis=NONE) header.from=tesarici.cz Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lr8-20020a17090b4b8800b0025651f9779fsi9608396pjb.177.2023.06.27.04.41.02; Tue, 27 Jun 2023 04:41:14 -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=@tesarici.cz header.s=mail header.b=pcG7sqNk; 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=NONE dis=NONE) header.from=tesarici.cz Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231158AbjF0LaO (ORCPT + 99 others); Tue, 27 Jun 2023 07:30:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229501AbjF0LaM (ORCPT ); Tue, 27 Jun 2023 07:30:12 -0400 Received: from bee.tesarici.cz (bee.tesarici.cz [IPv6:2a03:3b40:fe:2d4::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8880C10C; Tue, 27 Jun 2023 04:30:10 -0700 (PDT) Received: from meshulam.tesarici.cz (dynamic-2a00-1028-83b8-1e7a-4427-cc85-6706-c595.ipv6.o2.cz [IPv6:2a00:1028:83b8:1e7a:4427:cc85:6706:c595]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bee.tesarici.cz (Postfix) with ESMTPSA id 0630888EE8; Tue, 27 Jun 2023 13:30:06 +0200 (CEST) Authentication-Results: mail.tesarici.cz; dmarc=fail (p=none dis=none) header.from=tesarici.cz DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tesarici.cz; s=mail; t=1687865407; bh=PMTYuWEHp4RzWxSHWEhXWEo5d5MHLxZfnxLeMEnfGD4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=pcG7sqNkBFFgow2Mmh7j1elzlR0/jjXSQNzKLduKGlzVYfZajP/QiJ4lkbDtFwJLi pESn5wq4anP0MZET52ZTEyNhiqUsxP6UEtpu4YIthoSaYFSns/v6oXVDnx7k0HKw2V fYAaQSUKIxmzf+4SjVZDWmH+40O4FvNXNR2gRt4a7LRHTWA5RAf9DfPWrmi6XJhYTD rriJpAd+AMIr+QRiWzJl6V91faWGK5BevB3Xt+t2O00J/1rFoj0fHl+yvxQGUd1PD2 VqpnCoIh+9t2srRILgq8MxkRXkjjqcpIMUU0TxphHFBmcdXdM+KPz3HUteGJKKi+tI tEwiLAN1YW+8Q== Date: Tue, 27 Jun 2023 13:30:06 +0200 From: Petr =?UTF-8?B?VGVzYcWZw61r?= To: Robin Murphy Cc: Greg Kroah-Hartman , Petr Tesarik , Stefano Stabellini , Thomas Bogendoerfer , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" , "H. Peter Anvin" , "Rafael J. Wysocki" , Juergen Gross , Oleksandr Tyshchenko , Christoph Hellwig , Marek Szyprowski , Andy Shevchenko , Hans de Goede , Jason Gunthorpe , Kees Cook , Saravana Kannan , "moderated list:XEN HYPERVISOR ARM" , "moderated list:ARM PORT" , open list , "open list:MIPS" , "open list:XEN SWIOTLB SUBSYSTEM" , Roberto Sassu , Kefeng Wang Subject: Re: [PATCH v3 1/7] swiotlb: make io_tlb_default_mem local to swiotlb.c Message-ID: <20230627133006.16ee11af@meshulam.tesarici.cz> In-Reply-To: <73f11258-1562-17c1-969e-b134dcb5f35c@arm.com> References: <2023062745-routing-palace-d0b4@gregkh> <73f11258-1562-17c1-969e-b134dcb5f35c@arm.com> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-suse-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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 Oops, originally sent only to Robin. Restoring the recipient list here... On Tue, 27 Jun 2023 11:55:00 +0100 Robin Murphy wrote: > On 27/06/2023 11:24 am, Greg Kroah-Hartman wrote: > > On Tue, Jun 27, 2023 at 11:54:23AM +0200, Petr Tesarik wrote: > >> +/** > >> + * is_swiotlb_active() - check if the software IO TLB is initialized > >> + * @dev: Device to check, or %NULL for the default IO TLB. > >> + */ > >> bool is_swiotlb_active(struct device *dev) > >> { > >> - struct io_tlb_mem *mem = dev->dma_io_tlb_mem; > >> + struct io_tlb_mem *mem = dev > >> + ? dev->dma_io_tlb_mem > >> + : &io_tlb_default_mem; > > > > That's impossible to read and maintain over time, sorry. > > > > Please use real "if () else" lines, so that it can be maintained over > > time. > > Moreover, it makes for a horrible interface anyway. If there's a need > for a non-specific "is SWIOTLB present at all?" check unrelated to any > particular device (which arguably still smells of poking into > implementation details...), please encapsulate it in its own distinct > helper like, say, is_swiotlb_present(void). I'm sorry for writing two replies, but I realized too late that this part is unrelated to the MIPS Octeon platform. Xen is the only user of an "is SWIOTLB present" interface. IIUC Xen needs bounce buffers for the PCI frontend driver, but if there is no other reason to have a SWIOTLB, the system does not set up one at boot. Yeah, they should probably do things differently. At least this code in arch/x86/kernel/pci-dma.c is fishy: /* XXX: this switches the dma ops under live devices! */ dma_ops = &xen_swiotlb_dma_ops; However, I don't think it's up to me to fix that... To sum it up, I can certainly provide a separate function instead of overloading the is_swiotlb_active() API. Thanks for the suggestion! Petr T