From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964799AbcG0VjW (ORCPT ); Wed, 27 Jul 2016 17:39:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48910 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758326AbcG0VjU (ORCPT ); Wed, 27 Jul 2016 17:39:20 -0400 Date: Thu, 28 Jul 2016 00:39:14 +0300 From: "Michael S. Tsirkin" To: Dave Hansen Cc: Liang Li , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, virtio-dev@lists.oasis-open.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, dgilbert@redhat.com, quintela@redhat.com, Andrew Morton , Vlastimil Babka , Mel Gorman , Paolo Bonzini , Cornelia Huck , Amit Shah Subject: Re: [PATCH v2 repost 4/7] virtio-balloon: speed up inflate/deflate process Message-ID: <20160728003644-mutt-send-email-mst@kernel.org> References: <1469582616-5729-1-git-send-email-liang.z.li@intel.com> <1469582616-5729-5-git-send-email-liang.z.li@intel.com> <5798DB49.7030803@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5798DB49.7030803@intel.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Wed, 27 Jul 2016 21:39:20 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 27, 2016 at 09:03:21AM -0700, Dave Hansen wrote: > On 07/26/2016 06:23 PM, Liang Li wrote: > > + vb->pfn_limit = VIRTIO_BALLOON_PFNS_LIMIT; > > + vb->pfn_limit = min(vb->pfn_limit, get_max_pfn()); > > + vb->bmap_len = ALIGN(vb->pfn_limit, BITS_PER_LONG) / > > + BITS_PER_BYTE + 2 * sizeof(unsigned long); > > + hdr_len = sizeof(struct balloon_bmap_hdr); > > + vb->bmap_hdr = kzalloc(hdr_len + vb->bmap_len, GFP_KERNEL); > > This ends up doing a 1MB kmalloc() right? That seems a _bit_ big. How > big was the pfn buffer before? Yes I would limit this to 1G memory in a go, will result in a 32KByte bitmap. -- MST From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f69.google.com (mail-oi0-f69.google.com [209.85.218.69]) by kanga.kvack.org (Postfix) with ESMTP id 1F0D46B0253 for ; Wed, 27 Jul 2016 17:39:21 -0400 (EDT) Received: by mail-oi0-f69.google.com with SMTP id q62so18521700oih.0 for ; Wed, 27 Jul 2016 14:39:21 -0700 (PDT) Received: from mx1.redhat.com (mx1.redhat.com. [209.132.183.28]) by mx.google.com with ESMTPS id x28si28710023ita.90.2016.07.27.14.39.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Jul 2016 14:39:20 -0700 (PDT) Date: Thu, 28 Jul 2016 00:39:14 +0300 From: "Michael S. Tsirkin" Subject: Re: [PATCH v2 repost 4/7] virtio-balloon: speed up inflate/deflate process Message-ID: <20160728003644-mutt-send-email-mst@kernel.org> References: <1469582616-5729-1-git-send-email-liang.z.li@intel.com> <1469582616-5729-5-git-send-email-liang.z.li@intel.com> <5798DB49.7030803@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5798DB49.7030803@intel.com> Sender: owner-linux-mm@kvack.org List-ID: To: Dave Hansen Cc: Liang Li , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, virtio-dev@lists.oasis-open.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, dgilbert@redhat.com, quintela@redhat.com, Andrew Morton , Vlastimil Babka , Mel Gorman , Paolo Bonzini , Cornelia Huck , Amit Shah On Wed, Jul 27, 2016 at 09:03:21AM -0700, Dave Hansen wrote: > On 07/26/2016 06:23 PM, Liang Li wrote: > > + vb->pfn_limit = VIRTIO_BALLOON_PFNS_LIMIT; > > + vb->pfn_limit = min(vb->pfn_limit, get_max_pfn()); > > + vb->bmap_len = ALIGN(vb->pfn_limit, BITS_PER_LONG) / > > + BITS_PER_BYTE + 2 * sizeof(unsigned long); > > + hdr_len = sizeof(struct balloon_bmap_hdr); > > + vb->bmap_hdr = kzalloc(hdr_len + vb->bmap_len, GFP_KERNEL); > > This ends up doing a 1MB kmalloc() right? That seems a _bit_ big. How > big was the pfn buffer before? Yes I would limit this to 1G memory in a go, will result in a 32KByte bitmap. -- MST -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43428) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bSWXy-0006Ue-Hq for qemu-devel@nongnu.org; Wed, 27 Jul 2016 17:39:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bSWXw-0002kk-Lz for qemu-devel@nongnu.org; Wed, 27 Jul 2016 17:39:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50260) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bSWXw-0002kg-GA for qemu-devel@nongnu.org; Wed, 27 Jul 2016 17:39:20 -0400 Date: Thu, 28 Jul 2016 00:39:14 +0300 From: "Michael S. Tsirkin" Message-ID: <20160728003644-mutt-send-email-mst@kernel.org> References: <1469582616-5729-1-git-send-email-liang.z.li@intel.com> <1469582616-5729-5-git-send-email-liang.z.li@intel.com> <5798DB49.7030803@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5798DB49.7030803@intel.com> Subject: Re: [Qemu-devel] [PATCH v2 repost 4/7] virtio-balloon: speed up inflate/deflate process List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dave Hansen Cc: Liang Li , linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, virtio-dev@lists.oasis-open.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, dgilbert@redhat.com, quintela@redhat.com, Andrew Morton , Vlastimil Babka , Mel Gorman , Paolo Bonzini , Cornelia Huck , Amit Shah On Wed, Jul 27, 2016 at 09:03:21AM -0700, Dave Hansen wrote: > On 07/26/2016 06:23 PM, Liang Li wrote: > > + vb->pfn_limit = VIRTIO_BALLOON_PFNS_LIMIT; > > + vb->pfn_limit = min(vb->pfn_limit, get_max_pfn()); > > + vb->bmap_len = ALIGN(vb->pfn_limit, BITS_PER_LONG) / > > + BITS_PER_BYTE + 2 * sizeof(unsigned long); > > + hdr_len = sizeof(struct balloon_bmap_hdr); > > + vb->bmap_hdr = kzalloc(hdr_len + vb->bmap_len, GFP_KERNEL); > > This ends up doing a 1MB kmalloc() right? That seems a _bit_ big. How > big was the pfn buffer before? Yes I would limit this to 1G memory in a go, will result in a 32KByte bitmap. -- MST