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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id E565EC25B47 for ; Wed, 25 Oct 2023 08:46:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qvZVm-0001IT-Ud; Wed, 25 Oct 2023 04:45:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qvZVk-0001I7-0n for qemu-devel@nongnu.org; Wed, 25 Oct 2023 04:45:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qvZVe-0001lR-Bh for qemu-devel@nongnu.org; Wed, 25 Oct 2023 04:45:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1698223501; 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=EAbSklVYdIF0dtE4Zc5s47CTyI59BY8WEpImv7wdPk0=; b=Kco0kVTqTHRRR8EcYlxDZqvSSi4UqgwUTFO4VLSyIXdOSNnmjThAZEUd+jKRyl3ZQrokAB SgyfL9Ww9K8gPHAbyhIFOmyS9/gbxoqkpKedSRuGrC11r0upE5ptzxdClKZi2LZ7JoEi63 VSsUW/JNB5hgdIYJGYnxUBVTZAJc0FU= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-670-iQBxxxBpPsGIpFZNyr-0dA-1; Wed, 25 Oct 2023 04:44:59 -0400 X-MC-Unique: iQBxxxBpPsGIpFZNyr-0dA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9BF643C23FCE; Wed, 25 Oct 2023 08:44:54 +0000 (UTC) Received: from redhat.com (unknown [10.42.28.154]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5DC242166B29; Wed, 25 Oct 2023 08:44:53 +0000 (UTC) Date: Wed, 25 Oct 2023 09:44:51 +0100 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= To: Fabiano Rosas Cc: Markus Armbruster , qemu-devel@nongnu.org, Juan Quintela , Peter Xu , Leonardo Bras , Claudio Fontana , Eric Blake Subject: Re: [PATCH v2 28/29] migration: Add direct-io parameter Message-ID: References: <20231023203608.26370-1-farosas@suse.de> <20231023203608.26370-29-farosas@suse.de> <878r7svapt.fsf@pond.sub.org> <87msw7ddfp.fsf@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87msw7ddfp.fsf@suse.de> User-Agent: Mutt/2.2.9 (2022-11-12) X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.6 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: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org On Tue, Oct 24, 2023 at 04:32:10PM -0300, Fabiano Rosas wrote: > Markus Armbruster writes: > > > Fabiano Rosas writes: > > > >> Add the direct-io migration parameter that tells the migration code to > >> use O_DIRECT when opening the migration stream file whenever possible. > >> > >> This is currently only used for the secondary channels of fixed-ram > >> migration, which can guarantee that writes are page aligned. > >> > >> However the parameter could be made to affect other types of > >> file-based migrations in the future. > >> > >> Signed-off-by: Fabiano Rosas > > > > When would you want to enable @direct-io, and when would you want to > > leave it disabled? > > That depends on a performance analysis. You'd generally leave it > disabled unless there's some indication that the operating system is > having trouble draining the page cache. That's not the usage model I would suggest. The biggest value of the page cache comes when it holds data that will be repeatedly accessed. When you are saving/restoring a guest to file, that data is used once only (assuming there's a large gap between save & restore). By using the page cache to save a big guest we essentially purge the page cache of most of its existing data that is likely to be reaccessed, to fill it up with data never to be reaccessed. I usually describe save/restore operations as trashing the page cache. IMHO, mgmt apps should request O_DIRECT always unless they expect the save/restore operation to run in quick succession, or if they know that the host has oodles of free RAM such that existing data in the page cache won't be trashed, or if the host FS does not support O_DIRECT of course. > However I don't think QEMU should attempt any kind of prescription in > that regard. It shouldn't prescribe it, but I think our docs should encourage its use where possible. With 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 :|