From owner-dev-commits-src-all@freebsd.org Thu Aug 12 15:53:46 2021 Return-Path: Delivered-To: dev-commits-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F316166E705; Thu, 12 Aug 2021 15:53:45 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Glrp155YKz3CqM; Thu, 12 Aug 2021 15:53:45 +0000 (UTC) (envelope-from royger@FreeBSD.org) Received: from localhost (unknown [93.176.191.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: royger) by smtp.freebsd.org (Postfix) with ESMTPSA id 3D7E02503B; Thu, 12 Aug 2021 15:53:45 +0000 (UTC) (envelope-from royger@FreeBSD.org) Date: Thu, 12 Aug 2021 17:53:35 +0200 From: Roger Pau =?utf-8?B?TW9ubsOp?= To: John Baldwin Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: f4c6843ec2b9 - main - xen: use correct cache attributes for Xen specific memory regions Message-ID: References: <202108120724.17C7OJ8h043708@gitrepo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-BeenThere: dev-commits-src-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Aug 2021 15:53:46 -0000 On Thu, Aug 12, 2021 at 08:20:51AM -0700, John Baldwin wrote: > On 8/12/21 12:24 AM, Roger Pau Monné wrote: > > The branch main has been updated by royger: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=f4c6843ec2b9aa5eff475778fb000ed6278c5b77 > > > > commit f4c6843ec2b9aa5eff475778fb000ed6278c5b77 > > Author: Roger Pau Monné > > AuthorDate: 2021-04-09 09:31:44 +0000 > > Commit: Roger Pau Monné > > CommitDate: 2021-08-12 07:18:32 +0000 > > > > xen: use correct cache attributes for Xen specific memory regions > > bus_activate_resource maps memory regions as uncacheable on x86, which > > is more strict than required for regions allocated using xenmem_alloc, > > so don't rely on bus_activate_resource and instead map the region > > using pmap_mapdev_attr and VM_MEMATTR_XEN as the cache attribute. > > Sponsored by: Citrix Systems R&D > > It would probably be cleaner to use bus_map_resource() for this instead. It > would mean you would have to use a structure that writes to as the argument > to bus_read/write_* instead of using the resource directly. Those regions are usually handled to other subsystems of the kernel. They are mostly used to map memory from other domains and then perform IO on their behalf (like blkback and netback do), so it's not really possible to assert that all users of the regions would use bus_read/write_* to access them. I could however switch to using bus_map_resource if I can pass the desired memory cache attribute and get a linear address back. It looks like resource_map_request parameter allows to select the cache attribute. Thanks, Roger.