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=-5.0 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 8CA9CC07E95 for ; Tue, 20 Jul 2021 14:51:27 +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 3E91A613BE for ; Tue, 20 Jul 2021 14:51:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3E91A613BE 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]:49724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m5r5i-00037p-Bp for qemu-devel@archiver.kernel.org; Tue, 20 Jul 2021 10:51:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45116) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m5r0G-0007ue-Ui for qemu-devel@nongnu.org; Tue, 20 Jul 2021 10:45:48 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:56913) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m5r0D-0000EB-Hx for qemu-devel@nongnu.org; Tue, 20 Jul 2021 10:45:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1626792344; h=from:from:reply-to: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=cB1H+EzoY5XhR6toHgDhxUcQksYJMODauCOg6ChWGHs=; b=Yr3XHGaSfcUYIxVqWDiM3iT+wox6Jm1SVflVBJC6kqAT1CDIbFaaKzpkOgsSyp+7Ke88Hz fpsa87sGUWlOm3yfJETOXRbZf/xdUDutiysqhuXCXPUdhiHsaO4PtKFw3u0axBtxL/gPX2 KDYAzlUJD+v9SJEncxMgfQ+nT/hBRuE= 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-496-N3AoILlMN4OF3NM-RWgtDA-1; Tue, 20 Jul 2021 10:45:40 -0400 X-MC-Unique: N3AoILlMN4OF3NM-RWgtDA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1FF4380430C; Tue, 20 Jul 2021 14:45:39 +0000 (UTC) Received: from redhat.com (ovpn-113-31.ams2.redhat.com [10.36.113.31]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 287865D6A1; Tue, 20 Jul 2021 14:45:29 +0000 (UTC) Date: Tue, 20 Jul 2021 15:45:26 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: David Hildenbrand Subject: Re: [PATCH v1 0/3] util/oslib-posix: Support MADV_POPULATE_WRITE for os_mem_prealloc() Message-ID: References: <20210714112306.67793-1-david@redhat.com> MIME-Version: 1.0 In-Reply-To: <20210714112306.67793-1-david@redhat.com> User-Agent: Mutt/2.0.7 (2021-05-04) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=berrange@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Received-SPF: pass client-ip=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -23 X-Spam_score: -2.4 X-Spam_bar: -- X-Spam_report: (-2.4 / 5.0 requ) DKIMWL_WL_HIGH=-1.474, 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: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Cc: Pankaj Gupta , Eduardo Habkost , "Michael S. Tsirkin" , qemu-devel@nongnu.org, "Dr . David Alan Gilbert" , Paolo Bonzini , Igor Mammedov , Marek Kedzierski Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Wed, Jul 14, 2021 at 01:23:03PM +0200, David Hildenbrand wrote: > #1 adds support for MADV_POPULATE_WRITE, #2 cleans up the code to avoid > global variables and prepare for concurrency and #3 makes os_mem_prealloc() > safe to be called from multiple threads concurrently. > > Details regarding MADV_POPULATE_WRITE can be found in introducing upstream > Linux commit 4ca9b3859dac ("mm/madvise: introduce > MADV_POPULATE_(READ|WRITE) to prefault page tables") and in the latest man > page patch [1]. Looking at that commit message, I see your caveat about POPULATE_WRITE used together with shared file mappings, causing an undesirable glut of dirty pages that needs to be flushed back to the underlying storage. Is this something we need to be concerned with for the hostmem-file.c implementation ? While it is mostly used to point to files on tmpfs or hugetlbfs, I think users do something point it to a plain file on a normal filesystem. So will we need to optimize to use the fallocate+POPULATE_READ combination at some point ? Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|