Received: by 10.192.165.148 with SMTP id m20csp3980081imm; Mon, 30 Apr 2018 09:35:39 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpP3Q/D0umgGg3qwlhmP0ztPmCkt47cVHU0oFeICqwbGQYw6qYKusbTiTu7zbuz1HrRKZai X-Received: by 2002:a63:5f0e:: with SMTP id t14-v6mr10131792pgb.94.1525106139623; Mon, 30 Apr 2018 09:35:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525106139; cv=none; d=google.com; s=arc-20160816; b=tzlROgGaPigKkschIEqeiDrtMv6J1ZQ548DcVAL0CWzDcERDnikFg/419RZ+oAr39H k+ooK8S9eAUqmn7VsZfYYsDW075x2aT6QEMxdIytKQsVOaaYo9qoH9cdTWPGhqNwMe+B vgCeMHCUvAuroOUHqPo/trHBMH5RVYgRasc7ivMVKohuI1eUued9ZyRCrTt4UnKZkbVT RUASawTyJE2gmHUDoIMJL9scETkdUFXPs7dKyPZWqQDMWDK4Z5fEGqljnRCkEo0NQ2S2 kDvCm4drwAKlBV/G/OjZY0AwXpSY0hxg/mUg4FIcdwDDmoElU/33MrZscP82GTeDYsL5 bhEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=ntLfxCIwh91RS4IFn5/x2HK5+tiRPyDCRzKIamb/eE8=; b=ti8/KkWyqXJVJ73UxRbp40eWoKIEZ9Z+gJTP6gJ1vMnEO98ewiypq3EDCb/C8SOPx0 jGrIvAiYdRjP6mIMuikW+rQNBLSc+CJMqFGb9nRx56rZOYkSS3AyWGM3Jde7NuiyF6Vc U+saFKsmzNddMfroeFjrJd0ybAjm/FKG45S9PDwoy99Pnzz3ypda5telXHY6yZsTYM+y xycqBps6f6SoqFrOpKkHNQE2Isjt48VcLSy4MFii41UdlMouIXbQETt9cUdJdmjYTgv2 nud1NDj2rJWT+45CrbURMLvKsfn0ez6rblrBQ6pgt34+97+8y+PVorPLloQ6QsJrWcKV FXaw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 32-v6si7709421plc.252.2018.04.30.09.35.24; Mon, 30 Apr 2018 09:35:39 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754810AbeD3Qda (ORCPT + 99 others); Mon, 30 Apr 2018 12:33:30 -0400 Received: from mail.netline.ch ([148.251.143.178]:48075 "EHLO netline-mail3.netline.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752939AbeD3Qd2 (ORCPT ); Mon, 30 Apr 2018 12:33:28 -0400 Received: from localhost (localhost [127.0.0.1]) by netline-mail3.netline.ch (Postfix) with ESMTP id 829742A604F; Mon, 30 Apr 2018 18:33:26 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at netline-mail3.netline.ch Received: from netline-mail3.netline.ch ([127.0.0.1]) by localhost (netline-mail3.netline.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id ePOsVQ7U6SV7; Mon, 30 Apr 2018 18:33:25 +0200 (CEST) Received: from thor (145.233.60.188.dynamic.wline.res.cust.swisscom.ch [188.60.233.145]) by netline-mail3.netline.ch (Postfix) with ESMTPSA id 7367E2A6048; Mon, 30 Apr 2018 18:33:25 +0200 (CEST) Received: from localhost ([::1]) by thor with esmtp (Exim 4.91) (envelope-from ) id 1fDBjw-0001hh-Qn; Mon, 30 Apr 2018 18:33:24 +0200 Subject: Re: [PATCH v2 1/2] drm/ttm: Only allocate huge pages with new flag TTM_PAGE_FLAG_TRANSHUGE To: =?UTF-8?Q?Christian_K=c3=b6nig?= , Ilia Mirkin Cc: amd-gfx mailing list , dri-devel , LKML References: <20180426150618.13470-1-michel@daenzer.net> <20180427130811.7642-1-michel@daenzer.net> From: =?UTF-8?Q?Michel_D=c3=a4nzer?= Message-ID: Date: Mon, 30 Apr 2018 18:33:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-CA Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-04-29 09:02 AM, Christian König wrote: > Am 29.04.2018 um 01:02 schrieb Michel Dänzer: >> On 2018-04-28 06:30 PM, Ilia Mirkin wrote: >>> On Fri, Apr 27, 2018 at 9:08 AM, Michel Dänzer >>> wrote: >>>> From: Michel Dänzer >>>> >>>> Previously, TTM would always (with CONFIG_TRANSPARENT_HUGEPAGE enabled) >>>> try to allocate huge pages. However, not all drivers can take advantage >>>> of huge pages, but they would incur the overhead for allocating and >>>> freeing them anyway. >>>> >>>> Now, drivers which can take advantage of huge pages need to set the new >>>> flag TTM_PAGE_FLAG_TRANSHUGE to get them. Drivers not setting this flag >>>> no longer incur any overhead for allocating or freeing huge pages. >>>> >>>> v2: >>>> * Also guard swapping of consecutive pages in ttm_get_pages >>>> * Reword commit log, hopefully clearer now >>>> >>>> Cc: stable@vger.kernel.org >>>> Signed-off-by: Michel Dänzer >>> Both I and lots of other people, based on reports, are still seeing >>> plenty of issues with this as late as 4.16.4. >> "lots of other people", "plenty of issues" sounds a bit exaggerated from >> what I've seen. FWIW, while I did see the original messages myself, I >> haven't seen any since Christian's original fix (see below), neither >> with amdgpu nor radeon, even before this patch you followed up to. >> >> >>> Admittedly I'm on nouveau, but others have reported issues with >>> radeon/amdgpu as well. It's been going on since the feature was merged >>> in v4.15, with what seems like little investigation from the authors >>> introducing the feature. >> That's not a fair assessment. See >> https://bugs.freedesktop.org/show_bug.cgi?id=104082#c40 and following >> comments. >> >> Christian fixed the original issue in >> d0bc0c2a31c95002d37c3cc511ffdcab851b3256 "swiotlb: suppress warning when >> __GFP_NOWARN is set". Christian did his best to try and get the fix in >> before 4.15 final, but for reasons beyond his control, it was delayed >> until 4.16-rc1 and then backported to 4.15.5. >> >> Unfortunately, there was an swiotlb regression (not directly related to >> Christian's work) shortly after this fix, also in 4.16-rc1, which is now >> fixed in 4.17-rc1 and will be backported to 4.16.y. > > And that's exactly the reason why I intentionally kept this enabled for > all users of the TTM DMA page pool and not put it behind a flag. > > This change has surfaced quite a number of bugs in the swiotlb code > which could have caused issues before. It's just that those code path > where never exercised massively before. > > Additional to that using huge pages is beneficial for the MM and CPU TLB > (not implemented yet) even when the GPU driver can't make much use of it. Do I understand correctly that you're against this patch? AFAIU the only benefit of huge pages with a driver which doesn't take advantage of them directly is "for the MM". Can you describe a bit more what that benefit is exactly? Is it expected to outweigh the cost of allocating / freeing huge pages? >> It looks like there's at least one more bug left, but it's not clear yet >> when that was introduced, whether it's directly related to Christian's >> work, or indeed what the impact is. Let's not get ahead of ourselves. > > Well my patches surfaced the problems, but the underlying issues where > present even before those changes and I'm very well involved in fixing > the underlying issues. > > I even considered to just revert the huge page path for the DMA pool > allocator, but it's just that the TTM patches seem to work exactly as > they are intended. So that doesn't feel like doing the right thing here. I agree. Has anyone reported this to the DMA/SWIOTLB developers? -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer