From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1a3SLR-0007B4-FX for mharc-grub-devel@gnu.org; Mon, 30 Nov 2015 12:34:33 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33262) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3SLP-0007AM-0V for grub-devel@gnu.org; Mon, 30 Nov 2015 12:34:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a3SLG-0007Pv-5x for grub-devel@gnu.org; Mon, 30 Nov 2015 12:34:30 -0500 Received: from mail-lf0-x236.google.com ([2a00:1450:4010:c07::236]:36501) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a3SLF-0007Pa-V5 for grub-devel@gnu.org; Mon, 30 Nov 2015 12:34:22 -0500 Received: by lfs39 with SMTP id 39so201875780lfs.3 for ; Mon, 30 Nov 2015 09:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=ArO5Zu3qIL+uOCRoE4n/lk4+snGtu6eo067mmw3ILy4=; b=Z7SJuy7EPoOJhc1tknnBTNqfUywS+B/Z168aEdHCuyVfKvDqE0a9tpkAo2RVYDAUlV x+hm1uVivOJC0zN1bvbO2AB5//5xFY5g7QOWHZzHJMYnDk/TEKpiPQmOSQAJ/V1fWG+x EusC403Lc5lOoMsRCmaLdZ+UwtZ6X5GRRibeKTPGvlqZpqMjb9DdYZ6gDqm9OB0HAngF DZLMXtaQxGVj3r7cxFFXZRaWf3dxyBQCWbTtyjUEAq3/Vp5ZRDqIMdvhMev1GRM3nGgA GtwQsoCKx70oiWSRzEhXxJ/QUZlwOZeTGntzNY8NdnuI31Rg7CB/p4r2l6aR6Dy9R8g6 XArQ== X-Received: by 10.25.158.11 with SMTP id h11mr21422500lfe.159.1448904860408; Mon, 30 Nov 2015 09:34:20 -0800 (PST) Received: from [192.168.1.41] (ppp91-76-25-247.pppoe.mtu-net.ru. [91.76.25.247]) by smtp.gmail.com with ESMTPSA id d196sm7646984lfd.38.2015.11.30.09.34.18 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 30 Nov 2015 09:34:19 -0800 (PST) Subject: Re: [PATCH] calibrate_tsc(): use the Stall() EFI boot service on GRUB_MACHINE_EFI To: Vitaly Kuznetsov References: <1416992361-4167-1-git-send-email-lersek@redhat.com> <56589925.20207@gmail.com> <87h9k3jvp7.fsf@vitty.brq.redhat.com> <565C7E3A.3090004@gmail.com> From: Andrei Borzenkov X-Enigmail-Draft-Status: N1110 Message-ID: <565C889A.6030409@gmail.com> Date: Mon, 30 Nov 2015 20:34:18 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <565C7E3A.3090004@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c07::236 Cc: The development of GNU GRUB , mchang@suse.com, decui@microsoft.com, lersek@redhat.com X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Nov 2015 17:34:32 -0000 30.11.2015 19:50, Andrei Borzenkov пишет: > 30.11.2015 19:31, Vitaly Kuznetsov пишет: >> Andrei Borzenkov writes: >> >>> 26.11.2014 11:59, Laszlo Ersek пишет: >>>> HyperV Gen2 virtual machines have no PIT; guest code should rely on UEFI >>>> services instead. >>>> >>> >>> Could you retest with current master? It now supports multiple methods >>> to calibrate TSC and should avoid PIT on UEFI systems. >> >> Unfortunately, current master (grub-2.02-beta2-561-g346a494) still >> doesn't work for me, timer keeps running like crazy on Gen2 Hyper-V VMs. >> > > @Michael: I remember you tested version of Vladimir patch on Hyper-V? > Could you test current master? > if ((grub_inb (GRUB_PIT_SPEAKER_PORT) & GRUB_PIT_SPK_TMR2_LATCH)) { ret = 1; /* Wait. */ while ((grub_inb (GRUB_PIT_SPEAKER_PORT) & GRUB_PIT_SPK_TMR2_LATCH) == 0x00); } If PIT is not present all reads should return 0xff so this will always succeed, right? Linux kernel is using some sanity checks, if loop terminated too early it assumes calibration failure.