From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1163812AbdKRTY1 (ORCPT ); Sat, 18 Nov 2017 14:24:27 -0500 Received: from mout.web.de ([212.227.15.14]:55660 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1163799AbdKRTYT (ORCPT ); Sat, 18 Nov 2017 14:24:19 -0500 Subject: Re: [PATCH 05/10] x86: jailhouse: Set up timekeeping To: Thomas Gleixner Cc: Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, Linux Kernel Mailing List , jailhouse-dev@googlegroups.com References: <62f3fde8db44e5aedf934b5a753d448979f50082.1510817211.git.jan.kiszka@siemens.com> From: Jan Kiszka Message-ID: <12f18935-51a5-08a1-bf72-42e3367a2f87@web.de> Date: Sat, 18 Nov 2017 20:23:10 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:0gh6NyrA0nMoHjFvYY2UXkONinEmGUGW9qrOS7u8SkDgZn+KK8V dxuFIA2slMCYbEfHVxb545v+9/i0dQWJyGuPPiibB9sW13J76eWl35xWfTIjtHb0JWlaW2S /ISnjFo3ANecwUiH2RY0+2Anq8Ep6/XiprYHEEi/a+b+delSeoYK4yYat1/J7BkFNHV5SR+ VAREVneWim68Ji5kyximw== X-UI-Out-Filterresults: notjunk:1;V01:K0:ltWY+QYmwXU=:qISBrnUqOAExU+nWhfXQPs xpF8oL6/PR2j1voL1NYHWuSEgD+d9OCN8Qp9dN22kUFlX/1HeAnekUsp8j3wiErEWWoQ9W5nl UF9cE/PtFWs8b3UC7KKsOOUcsC1brLxuWip2JqAhnbdonyR4NY5D8gdRVNW4N/GoxIGiebDD5 KryzJV3s8PKx645VJxgNJLiCxK2SKGfpaOwPjtDok/pNZAGVSeI64vuCnOFVARV+hW0BMXzdN NChu+qk2c8ejFZEE1Kjaky84vrU+p2ojitI+qjQdDpUf2JIVuZj9hlGf85CVCDhzu2Dz5FcEt q8YcK6foF47P6btgu5emUfWFuNxzmyKui170r8BjakrLGIEUTTIcm9MI4K9PoSDTwJv0Y2hw1 5mIUA5CE3aHrwDYKbeYsyXq3oATRA2TlgmmBZpJDnd4DbSDFOhLtysh2Sotm1j4dJGF4roFk/ qIr2vIgChDte69Hkj32aaNxCcNx4QrS/G4BB7xxPnRQoCUVA000lPKTcdhQ9S4tr9Hlrbgzis iQhEeubsb+Rx3g1oensUlf+zfYEsLy7xFw7ocKPeQmEHRdda9/Z3AQrIipSknHeFSE0xeMr7c OgEZs+GtWpQKNdr1QytNOflCOgJSKeLB4NMtVsd+pCHHie2Q8ShLXFIrXAwu96ufLM2WvruVO inqW9dy36kN037c6l/ebF/vVZWToH6k0cy0UeN/nuFk917VS78iqoapYttX1GBJ5wXipPjG8/ bqSo032eRv2Dnc3/JuPdNsOwvPsLs2HtoPTSQ+aS2UPoodM2ixXzXHKHuMz3o0fgK0ut/dfSf 6awms9Ne40Wbmjl7zCQHPTFXZyRdVx8YxdKrKeF8z58LWFd0JY= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2017-11-17 23:49, Thomas Gleixner wrote: > On Thu, 16 Nov 2017, Jan Kiszka wrote: >> Calibrate the TSC and, where necessary, the APIC timer against the >> TMTIMER. We need our own implementation as neither the PIC nor the HPET >> are available, and the standard calibration routines try to make use of >> them. > > Why is this needed at all? > > The host the frequency already. So this can be done w/o pmtimer and extra > calibration routine. The hypervisor does not have the frequencies. It will never use the APIC timer (it's owned by the guests), and it has no use case for the TSC so far. Only the root cell (the Linux that booted the system) has that data. Now we could - trust the root cell to provide the right values and export them during startup to the hypervisor and from there to the non-root cells. - calculate the frequencies once and store them in the hyperivsor config, just like other system-specific information, for re-export to the cells. But I don't think option 1 will be ok for all use cases. Maybe a combination of both, falling back to the root cell data if nothing is defined in the config. Let me think about this. Jan