Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1306643pxb; Wed, 10 Feb 2021 05:34:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJxN49uaNw8U25z81HC4XRs7jEWnic1AO13b4zgHWvrsprvsKzk1G3j3hSZaDaMZXFTPomMC X-Received: by 2002:a17:906:fb91:: with SMTP id lr17mr2988751ejb.186.1612964056024; Wed, 10 Feb 2021 05:34:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612964056; cv=none; d=google.com; s=arc-20160816; b=uqiI0ML2i3dEy+Ej8tlNzxVuC7h5kx1i0kBnmqaWuzC8RnZWzp3Hn5ZyI8wRdtfopO BZ3UpZs9G9qcX8FsIondlJvt50dJVOctLvV5avKSz2k+ITZGOgwXHaQBaF1bQnxSQijp LICg8gnuhEWPAdyCFdLXtBPurUNJ5lLTT8DReL9Ps80lF0/FatqK38/Z/F4QGfF5U5A7 1oQu+Z/R99Q0y++3Kh/yXvrlApvwd2L2SW8eu89Q2l9c44BLVFIEYEuLrNeTEHa/YC3W bl7m/EHgpl0UVoLi0QoJACWuIOP8Gy0lkY9byNAOM+wRFVBvSHrUwIfuS15Alg7yw4JJ iwYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=3TgKBg4F4Ogk2MUg5XWV58KOJjwMomFokmdETEmsweQ=; b=A6U7txEp4EgnB5M3JAWtG9JlFsquFtbTcxisDBnfY5i8lQv7tUAfxIsYJvk+Llw8fa BgXFB/hv/N78k7COMLm6WRjkP5NdVw2PZkOOlteciDAPBODyOUXKeCrU2MLznGqoDhCp hyiHLGXswgiXj0Pn4HOK16GecX7ho2V36+W/dDkAlptHlPZNJDfAz6wNV+BTztMjSLcw kwYG/q0Z16FMc0gEeimgepd3w4ckadD+0+HwzzYVGnG8YJ3gyl5mQZ21Wd+bY38BVFoB j2pCxFOwD8DGh1hsBmuFOELu+TPpGmwCAS/4ig0W4ZymFKMiSihojQTpcIGxRGUtY7Ih gyew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=oizrbogH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k27si1313481eje.568.2021.02.10.05.33.50; Wed, 10 Feb 2021 05:34:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=oizrbogH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229818AbhBJNdT (ORCPT + 99 others); Wed, 10 Feb 2021 08:33:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:53620 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229710AbhBJNdS (ORCPT ); Wed, 10 Feb 2021 08:33:18 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4CE3D64E16 for ; Wed, 10 Feb 2021 13:32:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612963956; bh=67zKQD2KM75eGx35o/MSJcJksqT5rW9r/UKnaw9Bk7w=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=oizrbogHwx/wSl3QZ/A6L6hqtVlTK/wx1SKV/BL2epauNUBfqSk3olmX6GMhJlOqW rI/AUlpO4hsHMnvcq+IUETqOUx5eSEBq54GTd7SMkpyKxf8AWxTqrfjSlF0LOlGJwL 2jHUUbfLQnnr0H/rVJPDt0cv29SQzr0hVrzKEZXEvf1RnARkH6a3GIdIh9H1MYiA27 2HHQsBoIbBQS7KtQO7Xy4LPH/Y5hQt7HgFM3pycpaWpPCO/OoVODbHbPoOKJEaEcvh J22xunSWppvJJ1nTkeRpztH767EHhblQUn9zVMH/m3eojMAgpLxthsSsa8I2wQ8VCq GVkSsnJKY1f7Q== Received: by mail-oi1-f171.google.com with SMTP id k204so1997147oih.3 for ; Wed, 10 Feb 2021 05:32:36 -0800 (PST) X-Gm-Message-State: AOAM5321sGKevNxgWTBJIKPQt6rh9NCFLnJWnd16DWwMkE16jU9BeM6H WMmPnfbzT+AVf395mBcDv+HLV0Nkoc20FDCIW8A= X-Received: by 2002:aca:2117:: with SMTP id 23mr2085930oiz.4.1612963955644; Wed, 10 Feb 2021 05:32:35 -0800 (PST) MIME-Version: 1.0 References: <20210210103908.1720658-1-hikalium@google.com> In-Reply-To: <20210210103908.1720658-1-hikalium@google.com> From: Arnd Bergmann Date: Wed, 10 Feb 2021 14:32:19 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 0/2] Introduce a way to adjust CLOCK_BOOTTIME from userspace for VM guests To: Hikaru Nishida Cc: "linux-kernel@vger.kernel.org" , suleiman@google.com, Alexander Graf , Andra Paraschiv , Arnd Bergmann , Geert Uytterhoeven , Greg Kroah-Hartman , Ingo Molnar , John Stultz , Kurt Kanzenbach , Linus Walleij , Masahiro Yamada , Stephen Boyd , Thomas Gleixner Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 10, 2021 at 11:39 AM Hikaru Nishida wrote: > From: Hikaru Nishida > > We'd like to add a sysfs interface that enable us to advance > CLOCK_BOOTTIME from userspace. The use case of this change is that > adjusting guest's CLOCK_BOOTTIME as host suspends to ensure that the > guest can notice the device has been suspended. > We have an application that rely on the difference between > CLOCK_BOOTTIME and CLOCK_MONOTONIC to detect whether the device went > suspend or not. However, the logic did not work well on VM environment > since most VMs are pausing the VM guests instead of actually suspending > them on the host's suspension. > With following patches, we can adjust CLOCK_BOOTTIME without actually > suspending guest and make the app working as intended. > I think this feature is also useful for other VM solutions since there > was no way to do this from userspace. > > As far as I checked, it is working as expected but is there any concern > about this change? If so, please let me know. I think the correct internal interface to call would be timekeeping_inject_sleeptime64(), which changes boottime in a safe way. Not sure what should call it, but kvmclock as Alex suggested might be the right place. Arnd