From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752337AbbCZQRw (ORCPT ); Thu, 26 Mar 2015 12:17:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34229 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751018AbbCZQRv (ORCPT ); Thu, 26 Mar 2015 12:17:51 -0400 Message-ID: <5514312A.1000406@redhat.com> Date: Thu, 26 Mar 2015 17:17:46 +0100 From: Laszlo Ersek User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Vitaly Kuznetsov , "K. Y. Srinivasan" CC: Haiyang Zhang , devel@linuxdriverproject.org, linux-kernel@vger.kernel.org, Dexuan Cui Subject: Re: [PATCH] Drivers: hv: hv_balloon: eliminate jumps in piecewiese linear floor function References: <1427365613-29528-1-git-send-email-vkuznets@redhat.com> In-Reply-To: <1427365613-29528-1-git-send-email-vkuznets@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/26/15 11:26, Vitaly Kuznetsov wrote: > Commit 79208c57da53 ("Drivers: hv: hv_balloon: Make adjustments in computing > the floor") was inacurate as it introduced a jump in our piecewiese linear > 'floor' function: > > At 2048MB we have: > Left limit: > 104 + 2048/8 = 360 > Right limit: > 256 + 2048/16 = 384 (so the right value is 232) > > We now have to make an adjustment at 8192 boundary: > 232 + 8192/16 = 744 > 512 + 8192/32 = 768 (so the right value is 488) > > Suggested-by: Laszlo Ersek > Signed-off-by: Vitaly Kuznetsov > --- > drivers/hv/hv_balloon.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c > index 014256a..16d52da 100644 > --- a/drivers/hv/hv_balloon.c > +++ b/drivers/hv/hv_balloon.c > @@ -966,8 +966,8 @@ static unsigned long compute_balloon_floor(void) > * 128 72 (1/2) > * 512 168 (1/4) > * 2048 360 (1/8) > - * 8192 768 (1/16) > - * 32768 1536 (1/32) > + * 8192 744 (1/16) > + * 32768 1512 (1/32) > */ > if (totalram_pages < MB2PAGES(128)) > min_pages = MB2PAGES(8) + (totalram_pages >> 1); > @@ -976,9 +976,9 @@ static unsigned long compute_balloon_floor(void) > else if (totalram_pages < MB2PAGES(2048)) > min_pages = MB2PAGES(104) + (totalram_pages >> 3); > else if (totalram_pages < MB2PAGES(8192)) > - min_pages = MB2PAGES(256) + (totalram_pages >> 4); > + min_pages = MB2PAGES(232) + (totalram_pages >> 4); > else > - min_pages = MB2PAGES(512) + (totalram_pages >> 5); > + min_pages = MB2PAGES(488) + (totalram_pages >> 5); > #undef MB2PAGES > return min_pages; > } > Reviewed-by: Laszlo Ersek Thanks! Laszlo