From patchwork Fri Oct 26 07:58:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Orr X-Patchwork-Id: 10657043 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 539BE14BD for ; Fri, 26 Oct 2018 07:59:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4370B2BD78 for ; Fri, 26 Oct 2018 07:59:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 36CA82BDB9; Fri, 26 Oct 2018 07:59:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C83272BD78 for ; Fri, 26 Oct 2018 07:59:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726037AbeJZQfG (ORCPT ); Fri, 26 Oct 2018 12:35:06 -0400 Received: from mail-pf1-f202.google.com ([209.85.210.202]:40881 "EHLO mail-pf1-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725914AbeJZQfG (ORCPT ); Fri, 26 Oct 2018 12:35:06 -0400 Received: by mail-pf1-f202.google.com with SMTP id l1-v6so179741pfb.7 for ; Fri, 26 Oct 2018 00:59:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=AnJMoxuUxZM6HqRS0fM8ewLg4Xc9cP8Nti77j3KG1aM=; b=fh3j8OaSdLIRyODaPbk+fl+nxqNDrMpcTIhd6HoymcyjPxqoXkI3w2FEZk+9MaNkMq OPvkj6upM42BBws42WR8qPcGf9Qk3mcnqxOodj9dBw38Yuiu/VKwBaSLjOAWvWuimQiS Y3D48W641AMX9zKTcXeIf7vAwc2gR7Sa4FA6HfeWpYf6cP6QmXSNGl1I/n0Qc1GtBcc4 J8V8jnEw7y6CFd73e6JlmkfKGmXq+zJVrfHEbvsaUJGgf6CNDt+JMHhPjRRhgqWo44wF GRcQnsN3MYnktY9IG3SrAz15i0QHGhs/qeIklcwCnQW7KL8NRuVGmqT9pxmFIrvBnHiI G5gQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=AnJMoxuUxZM6HqRS0fM8ewLg4Xc9cP8Nti77j3KG1aM=; b=raYX4jyzyzfb9gPAIyCSmb4IJCi02MpZCo6EPV5RW2eRz0MH4So6iDPlvtNdtL1DPd ImC/JgziscCFIFVJwVkiaU47QgeA4ScJV2kgcUZtlCVGrZDFH7NnsVhloIV4dQ4LDBSg jYgst73oFduEc+AZPo5IHsP7E9+JWwClDR8+C9r1xyq+oG0+tSvj/20RraK4G/i7xlvy SEwlStISuKZeP7QURalsqI5+JuD//mOxCfHR0k6UMdaHTWkUZ5LUWUSTnjQNykkPPOib 5+iE1n2T0bXVbEmnEhfGNw/cj/qW2skueRl4rX7giMFl1wX0iMd3KZ9Ar8sCq4vGSLXG WuAw== X-Gm-Message-State: AGRZ1gKpSzlO5CWMtn5UjYfF5TYODqHNVl8D3F51jgb4prewOrEdbG4s LvYqnyDj17pmkopXuV+NviOJnPeDmYLd/TyMaz2P+rVPlhsDkUCZY352JrsqQ0Iy8vXQYDZ30rT YvS5RVjr1UXM1CZ4Sxfh5rd+WLwAdtsehu5hd8j4QErGQRL0G9upRmzVuQVn+ X-Google-Smtp-Source: AJdET5dqWOLphOOvFvWcjnIDvjNUIfwSq6SA4SMo+mk89i2DHeW2iDSPvpscoBrw6ujJdqTFRPsVM55wjjf/ X-Received: by 2002:a62:4853:: with SMTP id v80-v6mr1287973pfa.10.1540540745847; Fri, 26 Oct 2018 00:59:05 -0700 (PDT) Date: Fri, 26 Oct 2018 00:58:58 -0700 Message-Id: <20181026075900.111462-1-marcorr@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.19.1.568.g152ad8e336-goog Subject: [kvm PATCH v4 0/2] use vmalloc to allocate vmx vcpus From: Marc Orr To: kvm@vger.kernel.org, jmattson@google.com, rientjes@google.com, konrad.wilk@oracle.com, linux-mm@kvack.org, akpm@linux-foundation.org, pbonzini@redhat.com, rkrcmar@redhat.com, willy@infradead.org, sean.j.christopherson@intel.com Cc: Marc Orr Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP A couple of patches to allocate vmx vcpus with vmalloc instead of kalloc, which enables vcpu allocation to succeeed when contiguous physical memory is sparse. Compared to the last version of these patches, this version: 1. Splits out the refactoring of the vmx_msrs struct into it's own patch, as suggested by Sean Christopherson . 2. Leverages the __vmalloc() API rather than introducing a new vzalloc() API, as suggested by Michal Hocko . Marc Orr (2): kvm: vmx: refactor vmx_msrs struct for vmalloc kvm: vmx: use vmalloc() to allocate vcpus arch/x86/kvm/vmx.c | 92 +++++++++++++++++++++++++++++++++++++++++---- virt/kvm/kvm_main.c | 28 ++++++++------ 2 files changed, 100 insertions(+), 20 deletions(-)