Received: by 2002:a25:b794:0:0:0:0:0 with SMTP id n20csp3000848ybh; Mon, 5 Aug 2019 10:15:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqyQ35C+Cdei4dpr4eLOLkaquV72eNYqeggKLF5Vd5FOLiIh3M+Y8o8YPnDYNsf4kp9i4TNF X-Received: by 2002:a63:e610:: with SMTP id g16mr134101017pgh.392.1565025354042; Mon, 05 Aug 2019 10:15:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565025354; cv=none; d=google.com; s=arc-20160816; b=zGCqWmcxtZ+CBd3VmkSPY8j2D7YflFy4Qe6gflx7+7IYnOUhhZbM5hHfJeKoA7kP1F PQj5HgtC095tsejJ4avcD5w2qbz864/BwpcJ2Z8ggejEarVs73aY4NKiuuFeLmGRYuzi hF2bnsZosOkLYrF5lvHHdMGcOU0sJ7nMZOG8JsA5KivYuV1rgmuiE7e1puN8s0rZyrIQ vKHkyrqyeMGsdXYt9ckpxKOu/PctqptGlvVeu9ib/WJr1VJRZ0RXW1Wup/3MsaVP+oet ZPWgit8K4Dz2AHwwRw6Ce2xwKJxCDYQFRRuMg2tn9x5aQT16Ai+s/DJPlrxUWuX/QIrH 29bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=BaGEBCCvHgLEeEM0jkTTKpXw1mRgMNiOlwrLO1Ss3pE=; b=GSnls23o4vOR7shCyVaed3KnIud53tmE/O35kLjMwuTBmnZYI7RWr5po96/WOBDOLn GboldPMe4jLT2tVlFuldOfSUUlWrT+kBVzk7UbHRXyea/N/rujQai5mEj+P8rmTCxVWA XqXIK2gR2aQ3sgMTuv5kBkmv6K+Zdr8feWZxII+Dd78+TGSBbokBoG9fzznRmIxvPqbB YnLPqB9keqjkpQ5l14Y8zs52yJF40H7vURzrXFQlY6jaz/zl1uAj9W1q2zw5aVF3W7wT JqFUmwEuDTzhCdp1oCDyapFls/3rL4Fs87LEHySnzJBSHkT/852PmJ1J2RAdgXxwqZmZ 0SPw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JjTRgPB+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v63si16364420pgd.111.2019.08.05.10.15.38; Mon, 05 Aug 2019 10:15:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JjTRgPB+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729287AbfHERO7 (ORCPT + 99 others); Mon, 5 Aug 2019 13:14:59 -0400 Received: from mail-io1-f68.google.com ([209.85.166.68]:38584 "EHLO mail-io1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728843AbfHERO7 (ORCPT ); Mon, 5 Aug 2019 13:14:59 -0400 Received: by mail-io1-f68.google.com with SMTP id j6so1209411ioa.5 for ; Mon, 05 Aug 2019 10:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BaGEBCCvHgLEeEM0jkTTKpXw1mRgMNiOlwrLO1Ss3pE=; b=JjTRgPB+SGUpcW+V3EtO6gL93HfTBnpBBM2vny9l8TcyUi5UkRHiDr4pq4BfGTxDm9 6qlTZ0bf4iNdZYF/tA9gMQDaHOKsCk0kkQ7sG+UIrccFLU970xNtlgGQHFVJcps/j+6g pqTNufrlLPZqx2gH19poXxTiOgxkMlpjPxz6BtEWFFxrBwuZh6iaB1o3V6sVX56+ylGU 2pszfJRnRuLfd3ez1yKDNCqpKFzfIMt7ScpsAppPN5dSa1UtA4JwMl67ZKOiCjpjyKH8 E+W9yaFIGavidj9gdLW170u1mu/Nq9jerve9QF+3GHtgQvR1fhS0D2sNraatYXX5C9Xm FQIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BaGEBCCvHgLEeEM0jkTTKpXw1mRgMNiOlwrLO1Ss3pE=; b=if/MtYLHMlt7SLEd/COlCWsKQPZxLNzl/WuCzTIlYEtsiGRa+jPU+pD77l+2mDavAl uC0lNXWAH3IWnf61N80Ub9tCwfkSuGr9lSIPSYE9nLz+ewa6UExHf+9dOF8ZxQH26ilN fmJZ+pNKqw1Q58UBZjzmghY8tJnFMNlZJRz9VJHVMgTQF25t2LRBQzpIVMhWvMnsvykU 7Bkg2fok0cUOEum3WG/82C6MUSFZeXc4QRIXDekh7tasZ1zKdSYqngr971XuSwtk0Opx L6fT8jsGO6S4r2/vew0yvDjSfIFY4C0ID3Nh0YTU/0D+K/JVhuYGJV/juCTfjpFHmLiq VUCQ== X-Gm-Message-State: APjAAAVtpF2puS48sBy8VmR/1U9jva+T0FcaKEAY+qkNh2NP2y/rsKBQ FmRdwXs8nXYxtdClP2hyX1WUJbDj/JTlXU58yAjrBGWAS+Zx8w== X-Received: by 2002:a02:1607:: with SMTP id a7mr623447jaa.123.1565025298399; Mon, 05 Aug 2019 10:14:58 -0700 (PDT) MIME-Version: 1.0 References: <20190805032114.8740-1-hdanton@sina.com> In-Reply-To: <20190805032114.8740-1-hdanton@sina.com> From: Mikhail Gavrilov Date: Mon, 5 Aug 2019 22:14:47 +0500 Message-ID: Subject: Re: The issue with page allocation 5.3 rc1-rc2 (seems drm culprit here) To: Hillf Danton Cc: Dave Airlie , "Deucher, Alexander" , "Koenig, Christian" , Harry Wentland , amd-gfx list , Linux Memory Management List , Linux List Kernel Mailing , dri-devel Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 5 Aug 2019 at 08:21, Hillf Danton wrote: > > > > Try to fix the failure above using vmalloc + kmalloc. > > --- a/drivers/gpu/drm/amd/display/dc/core/dc.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c > @@ -1174,8 +1174,12 @@ struct dc_state *dc_create_state(struct > struct dc_state *context = kzalloc(sizeof(struct dc_state), > GFP_KERNEL); > > - if (!context) > - return NULL; > + if (!context) { > + context = kvzalloc(sizeof(struct dc_state), > + GFP_KERNEL); > + if (!context) > + return NULL; > + } > /* Each context must have their own instance of VBA and in order to > * initialize and obtain IP and SOC the base DML instance from DC is > * initially copied into every context > @@ -1195,8 +1199,13 @@ struct dc_state *dc_copy_state(struct dc > struct dc_state *new_ctx = kmemdup(src_ctx, > sizeof(struct dc_state), GFP_KERNEL); > > - if (!new_ctx) > - return NULL; > + if (!new_ctx) { > + new_ctx = kvmalloc(sizeof(*new_ctx), GFP_KERNEL); > + if (new_ctx) > + *new_ctx = *src_ctx; > + else > + return NULL; > + } > > for (i = 0; i < MAX_PIPES; i++) { > struct pipe_ctx *cur_pipe = &new_ctx->res_ctx.pipe_ctx[i]; > @@ -1230,7 +1239,7 @@ static void dc_state_free(struct kref *k > { > struct dc_state *context = container_of(kref, struct dc_state, refcount); > dc_resource_state_destruct(context); > - kfree(context); > + kvfree(context); > } > > void dc_release_state(struct dc_state *context) > -- Unfortunately couldn't check this patch because, with the patch, the kernel did not compile. Here is compile error messages: drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: In function 'dc_create_state': drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1178:13: error: implicit declaration of function 'kvzalloc'; did you mean 'kzalloc'? [-Werror=implicit-function-declaration] 1178 | context = kvzalloc(sizeof(struct dc_state), | ^~~~~~~~ | kzalloc drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1178:11: warning: assignment to 'struct dc_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1178 | context = kvzalloc(sizeof(struct dc_state), | ^ drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: In function 'dc_copy_state': drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1203:13: error: implicit declaration of function 'kvmalloc'; did you mean 'kmalloc'? [-Werror=implicit-function-declaration] 1203 | new_ctx = kvmalloc(sizeof(*new_ctx), GFP_KERNEL); | ^~~~~~~~ | kmalloc drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1203:11: warning: assignment to 'struct dc_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 1203 | new_ctx = kvmalloc(sizeof(*new_ctx), GFP_KERNEL); | ^ drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c: In function 'dc_state_free': drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1242:2: error: implicit declaration of function 'kvfree'; did you mean 'kzfree'? [-Werror=implicit-function-declaration] 1242 | kvfree(context); | ^~~~~~ | kzfree cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:274: drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.o] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [scripts/Makefile.build:490: drivers/gpu/drm/amd/amdgpu] Error 2 make[3]: *** Waiting for unfinished jobs.... make: *** [Makefile:1084: drivers] Error 2 -- Best Regards, Mike Gavrilov.