Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1402850
| Path | csiph.com!weretis.net!feeder4.news.weretis.net!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Mika Penttilä <mika.penttila@nextfour.com> |
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2] sched/cputime: add steal time support to full dynticks CPU time accounting |
| Date | Wed, 18 May 2016 12:10:01 +0200 |
| Message-ID | <rA6Ap-Fs-7@gated-at.bofh.it> (permalink) |
| References | <rA51E-7Zz-13@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=NextfourGroupOy.onmicrosoft.com; s=selector1-nextfour-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lgM69T9fGT3+hSMZ1wzGMoGPfSFNEeJ+gpHPt+JHkyo=; b=AZ+SPIC6eYrTKtMy47GgygAviLRU43cc1s2buMYowpZWW34vuZG1OKooukYTsz/YySDjFSO5NcmvsiaaV1/uP+JXbngNypfaPyWov4cRpoevb/ffD2HVhLheJ/VWUbdyNtrpzeThi/ORClPDm80+OhsuTwOGgIOSn/rmSYFq288= |
| Authentication-Results | redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=nextfour.com; |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="windows-1252" |
| Content-Transfer-Encoding | 7bit |
| X-Originating-IP | [194.157.170.34] |
| X-Clientproxiedby | AM3PR01CA039.eurprd01.prod.exchangelabs.com (10.141.191.29) To AM4PR07MB1553.eurprd07.prod.outlook.com (10.165.249.9) |
| X-Ms-Office365-Filtering-Correlation-ID | 30725e82-a09c-4515-26fb-08d37f014a20 |
| X-Microsoft-Exchange-Diagnostics | 1;AM4PR07MB1553;2:f45vHgaaNqbNhGCmTbhucZbHC+a/PSFMASq6m/OcnnTcESt7g1rFCReLIlU9hqS1LlNFRbNF3jri3RnwiPCxQ7Gcl978iyWOxx8d5WVajLjdu2eKwBsL/I68nbjRMN8BU2eonxOep5MqETTnz/22/6JPDvx39Eyamowg/NmAqWUPy19tstGZrK4jmFnwxOrO;3:XanhGRBjJtMs5qjG29fHFFFc7gMa6PppoZ4caMs76uswAYhuLtX9j+mFWMXekDyzq62h2fDXuc76MF9NyKprjAENoj+A5yvCEFcUUT5UqiQQvW1McM9MQAEygjLjSBwd |
| X-Microsoft-Antispam | UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM4PR07MB1553; |
| X-Microsoft-Exchange-Diagnostics | 1;AM4PR07MB1553;25:pfcByNJmWx+nQC9VVg2hpfbEw/mLIFiY6mf2dXzz94cxLJvxxo26fPG1++Yh7HWrEjWYq7nafXeZsIH3rQufKHvSXjpwhW9jzg/3TX6+4MQ+6RupmQPEm4NMyULCwqhdBuKSMvVAd4wAR7Z8GBLgi+op5q1eIzLKJMsfoyIMtccWk/CHbERv4Ls6fc6uQl+68fZsUo6WRNjqicQxvIgTrTgcqPtox7CPUN7ayhFJDerw8Jv2/bF+gQsth8W08YyBlkvbEvjPGMyyDuKoBdoT8618MWmVw03IOBgaUE5JdA42LMSELMnKrRX6NgJ5TgNkJvwoU2Ye7Ic50VugNRwOAT8Rw0OWITu9E0CO/aX7/0GRQsrQDB6KYIOYGMRyHNvDo54TJzAi2yJWocGebMMBnKcLkMNr52Jfxbyv4zEJnuBNBkqpWUTWi31/8bnIHoZD7exo27D++xukpiRd2SU+ieuF3lESJpjrHRpIHq8MkGLQSCxMLpaQfRg7XWNyA8AiMs0k2tVV9tRD9eoKRdRZ7+v1i003RcSdPaxsKfRjLgP0up8BkyJEd4uW+RFvlYBHD8Xc+xYdGw8CIT2v4MyXfa0lXI5SSjOdDVgjU+7PW9cMUuRBNmd8UDZsO8JTb2hu2s/4dz194ustqX53UjexdC1dnyg4xkxNNFUa/J8DT3mD7jKhy/1UKP5uVpOPqpVam3sNzhbQPz0oQGfZf4VH9K7GJJHGjSEdw1vrBDg20k7M+ed6mZ+PVonjr7ViyzHZ |
| X-Microsoft-Antispam-Prvs | <AM4PR07MB1553CB126DE5DC374B57DF1F83490@AM4PR07MB1553.eurprd07.prod.outlook.com> |
| X-Exchange-Antispam-Report-Test | UriScan:; |
| X-Exchange-Antispam-Report-Cfa-Test | BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:AM4PR07MB1553;BCL:0;PCL:0;RULEID:;SRVR:AM4PR07MB1553; |
| X-Microsoft-Exchange-Diagnostics | 1;AM4PR07MB1553;4:TGlMpjOQJWRjYwwbYRvnwGsvBJbCETZr71WYO7ADTrSH38Z0FwZYkqL6ltdoIvTT/AdQuvny5qjORT7Pq+8BB90STg3uWisPW41aNmyegPZevuLfMqHzWYMD+bvXkOSZdtpHlx++rzNxY0ZZsuq+ZlMFcEbz1sWnq+k8uEzqS5Hq3a8bu2Km6QV/3b+jpvfR4gVUOghILQ8KuM0+GRnc2FPbHUkCA5bNeep66/d4bF/hIJ3FBXlth6Wg5o3Np5zJBasIE+sAr8yw1SWz9D4rdM5uUS/8Vj7ZbItPKKEKucoPKZTd8jn3sbXUd/dhIciuVD6+ijZF4uuE7UYhRSOXI181qSO2PVyE8OW8urwl+AJ7pZ4aRF0ngCxTs9MwGBhN |
| X-Forefront-Prvs | 0946DC87A1 |
| X-Forefront-Antispam-Report | SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(24454002)(377454003)(8676002)(5001770100001)(42186005)(19580405001)(80316001)(59896002)(5008740100001)(64126003)(86362001)(189998001)(65956001)(66066001)(65806001)(36756003)(2950100001)(33656002)(77096005)(92566002)(50466002)(2201001)(47776003)(15650500001)(83506001)(50986999)(76176999)(54356999)(87266999)(19580395003)(81166006)(23746002)(586003)(65816999)(3846002)(6116002)(5004730100002)(2906002)(230700001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR07MB1553;H:[10.10.10.110];FPR:;SPF:None;MLV:sfv;LANG:en; |
| X-Microsoft-Exchange-Diagnostics | 1;AM4PR07MB1553;23:yXvcMN3LoZJrTYltM7rLNTAZYcOpN0uwk5QLS55fs1NTTLmr3Zf5GcF5JNbtgkjAX8JDLB378W1sDdmBU+QZpNQCS+/xEKB2Jp/MQKC4pX/RIpEUhTVZi2zGifjHv7VhV21nBVcZmcb5relmlheMqx0Hz/2TvTMTlBlIHp8bdi1Ll7LPk2mZGVk/Y40fHzGOQ5Z5+M9ZrhRVZiNVmcrQoXKCGSiLXYcBt3DvmJ8VBqCIZf8M+6myQy24JaMez9g//QdPlQOtaj+plOvNAXI9+7/zpl+f1vjyqgkPmWtyTzHZnGO7bzm6HXadYJ8+SpXBKc1VbwJ0LOGkrIZKfzyHZncaYDZ5hvXDUibVDe65SopTNQYgyDbIUixJBMcgfuNzIzVHhtndfkuIlCg8Mf2ZibmgjzZjVc+pcK7ayxi6j+8VrKu5AevDxlI3B68q5gFuh8tWeUxc5yJeCtcUlY5BTlUmGhN6JKGxINOtgwZ0CXx5taY+rnnV8ulRVVX1aG+GT9N91wUsfwqJGEkihMs5pA3Gz4y9vNgvqjQWRVFjJO2OUsoNTFtkaI6uicF33lLupwcq51NijLEtEmpeRWXEB9ExM6W9PiOJbWKpoIL2KAWk2BwfjICqNH60sotoVHqBRkEf8ch8pXBujO+5/Q8wg6+l3KKq+n+eWCwN+g2jYH7e6kKUWdjSorfS+YyX0BMBgy3BqOTWbsTuXzZaftt7g76flrogSlZPzwFnsMJyz2fsx4a9VKj7u/PqG9WNKZOztSg77VGigVUm3EQFPbPEb+q6kbUzL8YFQvVkwI1xhcjB7IsmdaVRS5ZEBBy4B3kHm09e9oVH3MPUndTB3gf8lOZSBpYLHQGg2ERjmCDQFsl9MKEf805RJ02/HkDKgpDLYtXHtqydk1uG7neSL+2HhwvWgCXfcjg8ZtMkN1ogjBsOk1OYa0ckZKJFLnWJ6m1tDGaJ+6ARayoeosKqIkeKyZkUaWGd0S12EZzPpJ01T0Iv5d4XkT5eYj93t60XugLOCe3zhrhw0gOpqq6iYIZEBR9jLsh1IFAv1GvGlHderZdgmRp6jtGC+bhwNEGExAUbddwONa35J/1fORgjQNRDLCmAf2/nPaWz4+5h3T+rHgQ= |
| X-Microsoft-Exchange-Diagnostics | 1;AM4PR07MB1553;5:MYk/s17Biv3XvGTQl8ZQQMyRCMDKu8xShHiTRvOqTy7HHMD1vmRBc7Yk7dUFjTV4lVs3mgr8MrIAKmFiJnTnvoyBBt5SEQ3emTEur4zfRlFdrDMyVd9HLpiIvM0gYrRoaFBNpAZAgjQxDl3dynEYtw==;24:17YbuB7hZdyp3Zg63k0yreuKtctBampkDNv1Wl4K6rxrbFWVRgwqS1qbKcIhbgjdOhVegDbRXLUAcHTDwrLwaMMI26bJGo7D6FVwHX7y+js=;7:n7s4cwei27dfPj48OH17ZzTd7d1+9CtEJzxe4H4MbqztfkmAAP+qk7y3H+BQ1I8q1VXETdpLazdjBDyGVgTrmYkAf9YPH6TvRMdNdnT0o6vdRcz4Trk/Fuf3IZBe999SN31NE7TVAhtg+jiQ4w4zwCu5sPIdJLMpsrm6xLzot6JCOi6l7+mRDg6IBaLys0A/ |
| Spamdiagnosticoutput | 1:23 |
| Spamdiagnosticmetadata | NSPM |
| X-Originatororg | nextfour.com |
| X-Ms-Exchange-Crosstenant-Originalarrivaltime | 18 May 2016 09:46:29.0624 (UTC) |
| X-Ms-Exchange-Crosstenant-Fromentityheader | Hosted |
| X-Ms-Exchange-Transport-Crosstenantheadersstamped | AM4PR07MB1553 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 85 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | Wanpeng Li <wanpeng.li@hotmail.com>, Ingo Molnar <mingo@kernel.org>, "Peter Zijlstra (Intel)" <peterz@infradead.org>, Rik van Riel <riel@redhat.com>, Thomas Gleixner <tglx@linutronix.de>, Frederic Weisbecker <fweisbec@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Radim <rkrcmar@redhat.com> |
| X-Original-Date | Wed, 18 May 2016 12:46:25 +0300 |
| X-Original-Message-ID | <573C39F1.1020909@nextfour.com> |
| X-Original-References | <1463560115-12962-1-git-send-email-wanpeng.li@hotmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1402850 |
Show key headers only | View raw
On 05/18/2016 11:28 AM, Wanpeng Li wrote:
> From: Wanpeng Li <wanpeng.li@hotmail.com>
>
> This patch adds steal guest time support to full dynticks CPU
> time accounting. After 'commit ff9a9b4c4334 ("sched, time: Switch
> VIRT_CPU_ACCOUNTING_GEN to jiffy granularity")', time is jiffy
> based sampling even if it's still listened to ring boundaries, so
> steal_account_process_tick() is reused to account how much 'ticks'
> are steal time after the last accumulation.
>
> Suggested-by: Rik van Riel <riel@redhat.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
> Cc: Rik van Riel <riel@redhat.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Radim <rkrcmar@redhat.com>
> Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
> ---
> v1 -> v2:
> * fix divide zero bug, thanks Rik
>
> kernel/sched/cputime.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c
> index 75f98c5..bfa50a0 100644
> --- a/kernel/sched/cputime.c
> +++ b/kernel/sched/cputime.c
> @@ -257,7 +257,7 @@ void account_idle_time(cputime_t cputime)
> cpustat[CPUTIME_IDLE] += (__force u64) cputime;
> }
>
> -static __always_inline bool steal_account_process_tick(void)
> +static __always_inline unsigned long steal_account_process_tick(void)
> {
> #ifdef CONFIG_PARAVIRT
> if (static_key_false(¶virt_steal_enabled)) {
> @@ -279,7 +279,7 @@ static __always_inline bool steal_account_process_tick(void)
> return steal_jiffies;
> }
> #endif
> - return false;
> + return 0;
> }
>
> /*
> @@ -691,8 +691,12 @@ static cputime_t get_vtime_delta(struct task_struct *tsk)
>
> static void __vtime_account_system(struct task_struct *tsk)
> {
> + unsigned long steal_time = steal_account_process_tick();
> cputime_t delta_cpu = get_vtime_delta(tsk);
>
> + if (steal_time >= delta_cpu)
> + return;
> + delta_cpu -= steal_time;
> account_system_time(tsk, irq_count(), delta_cpu, cputime_to_scaled(delta_cpu));
> }
>
> @@ -723,7 +727,12 @@ void vtime_account_user(struct task_struct *tsk)
> write_seqcount_begin(&tsk->vtime_seqcount);
> tsk->vtime_snap_whence = VTIME_SYS;
> if (vtime_delta(tsk)) {
> + unsigned long steal_time = steal_account_process_tick();
> delta_cpu = get_vtime_delta(tsk);
afaik steal_account_process_tick() returns jiffies and get_vtime_delta() cputime, so can't mix them like this : ?
> +
> + if (steal_time >= delta_cpu)
> + return;
> + delta_cpu -= steal_time;
> account_user_time(tsk, delta_cpu, cputime_to_scaled(delta_cpu));
> }
> write_seqcount_end(&tsk->vtime_seqcount);
>
--Mika
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2] sched/cputime: add steal time support to full dynticks CPU time accounting Wanpeng Li <kernellwp@gmail.com> - 2016-05-18 10:30 +0200
Re: [PATCH v2] sched/cputime: add steal time support to full dynticks CPU time accounting Mika Penttilä <mika.penttila@nextfour.com> - 2016-05-18 12:10 +0200
Re: [PATCH v2] sched/cputime: add steal time support to full dynticks CPU time accounting Wanpeng Li <kernellwp@gmail.com> - 2016-05-18 12:10 +0200
csiph-web