Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1551781imm; Tue, 15 May 2018 22:47:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqBKxsPTrXOjkd5Yx5qk4z+iAEJ7KBkiT6eRONYxxsD1Ld/doTGrhCdo3JELUh/22FGmkmj X-Received: by 2002:a62:8b07:: with SMTP id j7-v6mr18241228pfe.28.1526449666516; Tue, 15 May 2018 22:47:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526449666; cv=none; d=google.com; s=arc-20160816; b=Oy876I+q0I0qVIE7osc8yrvSyRo7IsRz5+3NsHnxbAucpKtSULw/fjX30qfJv9DsjL MInNIHth83ewR6ZliuB0Dr+1+pnbwQCRK+xJKnQ1UO4tJzIkYC2EvM7BzJzEXtYO46ID Un3XYmmgzSixONY/MwlHWANuYeB8u2VJpym2W77uQ27fqR0+1rEb+ouoG93Dp7dLm/8N 8Wd6xDe7MZ5M+Ntt0bwUoMQQuz+KcxrYAEJ9sQsT+Z7Je10d4pGZ4gbmNAV9iFITY3Sg 1OS73jhRHNE4I9MPJgjMIZdAEdyMceakm5PQqu2+HdIyYM5CDN+NyvuMazTYuqFFwaMW 1GUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=PkV8qk1N19FTgKb3nSMfmQEjgTd3Qdr314g99OeUqOs=; b=nuCxB2d0x3+HqbE88ujWAHykVx8f+LmrlJZLF3NKxlsgEZoXDdmmgpkC37yFr6AHaJ Bjj427bF7gRCsdieDQg0D70EoYFD5E2I3D5puxUPuGbE1fg1MqeLIUc5ZcPvFAjU2VJA R6LhlygjYDDNe/We6lBfp4VSsI+Iwu7X5L3IkCrvYCKVrj79PCheI8dAaU0ZsK5a+iNg dMRo5ZKIf1c+yrq+wanE5WTIBuCw21Z128NjIsfSAstfLfOSyv153uBtmu3o+gUqw2MC 6pOM5R2mVnC5gEEW7sutiUqwULwwdgSGrWCrg7dt+Scb2JqS64ij9G40yqgFJWlb6giS L5Xw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=FOm2NV9R; 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 90-v6si1817660plc.205.2018.05.15.22.47.32; Tue, 15 May 2018 22:47:46 -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=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=FOm2NV9R; 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 S1752813AbeEPFqr (ORCPT + 99 others); Wed, 16 May 2018 01:46:47 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:58124 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752627AbeEPFoy (ORCPT ); Wed, 16 May 2018 01:44:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=PkV8qk1N19FTgKb3nSMfmQEjgTd3Qdr314g99OeUqOs=; b=FOm2NV9Rmxz7OfIwBhCpy/5Bh RoVDHazDvzUkUaNKWiwOVdX9h/SN+ZyD1D20l153FGyVpqq5Ft84OtEUp3kJh3NmxqwfnrfATV1Aw Akfsgh6zWlZyAsq3O4ocrqoot3/yGIRNXbRT1XsoLYtc12K+jKGnZMLKzlHKNk71AXy7arBVXYCRn s2mOm8zqrAndCWdehYrn2LOqD7zqXr9b11D6JulEzPz8VRXjqHj56HSR9t3DcjpenYUu+dHGugpPc vhwByv34X5/MfpMSkecocmNNntnraG75BgqurbhuSKhfcCSwzR97ZIbcN/ICSKlRlr6pxJYKtUv2D jeZHSKQiQ==; Received: from [93.83.86.253] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1fIpEj-0008DS-CB; Wed, 16 May 2018 05:44:29 +0000 From: Christoph Hellwig To: Souptick Joarder , Matthew Wilcox Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, devel@lists.orangefs.org, ceph-devel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, ocfs2-devel@oss.oracle.com, linux-mtd@lists.infradead.org, dri-devel@lists.freedesktop.org, lustre-devel@lists.lustre.org, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org Subject: [PATCH 11/14] ttm: separate errno from VM_FAULT_* values Date: Wed, 16 May 2018 07:43:45 +0200 Message-Id: <20180516054348.15950-12-hch@lst.de> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180516054348.15950-1-hch@lst.de> References: <20180516054348.15950-1-hch@lst.de> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Christoph Hellwig --- drivers/gpu/drm/ttm/ttm_bo_vm.c | 42 +++++++++++++++++---------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c index 8eba95b3c737..255e7801f62c 100644 --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c @@ -43,10 +43,11 @@ #define TTM_BO_VM_NUM_PREFAULT 16 -static int ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, +static vm_fault_t ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, struct vm_fault *vmf) { - int ret = 0; + vm_fault_t ret = 0; + int err = 0; if (likely(!bo->moving)) goto out_unlock; @@ -77,8 +78,8 @@ static int ttm_bo_vm_fault_idle(struct ttm_buffer_object *bo, /* * Ordinary wait. */ - ret = dma_fence_wait(bo->moving, true); - if (unlikely(ret != 0)) { + err = dma_fence_wait(bo->moving, true); + if (unlikely(err != 0)) { ret = (ret != -ERESTARTSYS) ? VM_FAULT_SIGBUS : VM_FAULT_NOPAGE; goto out_unlock; @@ -104,7 +105,7 @@ static unsigned long ttm_bo_io_mem_pfn(struct ttm_buffer_object *bo, + page_offset; } -static int ttm_bo_vm_fault(struct vm_fault *vmf) +static vm_fault_t ttm_bo_vm_fault(struct vm_fault *vmf) { struct vm_area_struct *vma = vmf->vma; struct ttm_buffer_object *bo = (struct ttm_buffer_object *) @@ -115,7 +116,8 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) unsigned long pfn; struct ttm_tt *ttm = NULL; struct page *page; - int ret; + vm_fault_t ret; + int err; int i; unsigned long address = vmf->address; struct ttm_mem_type_manager *man = @@ -128,9 +130,9 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) * for reserve, and if it fails, retry the fault after waiting * for the buffer to become unreserved. */ - ret = ttm_bo_reserve(bo, true, true, NULL); - if (unlikely(ret != 0)) { - if (ret != -EBUSY) + err = ttm_bo_reserve(bo, true, true, NULL); + if (unlikely(err != 0)) { + if (err != -EBUSY) return VM_FAULT_NOPAGE; if (vmf->flags & FAULT_FLAG_ALLOW_RETRY) { @@ -162,8 +164,8 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) } if (bdev->driver->fault_reserve_notify) { - ret = bdev->driver->fault_reserve_notify(bo); - switch (ret) { + err = bdev->driver->fault_reserve_notify(bo); + switch (err) { case 0: break; case -EBUSY: @@ -191,13 +193,13 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) goto out_unlock; } - ret = ttm_mem_io_lock(man, true); - if (unlikely(ret != 0)) { + err = ttm_mem_io_lock(man, true); + if (unlikely(err != 0)) { ret = VM_FAULT_NOPAGE; goto out_unlock; } - ret = ttm_mem_io_reserve_vm(bo); - if (unlikely(ret != 0)) { + err = ttm_mem_io_reserve_vm(bo); + if (unlikely(err != 0)) { ret = VM_FAULT_SIGBUS; goto out_io_unlock; } @@ -265,21 +267,21 @@ static int ttm_bo_vm_fault(struct vm_fault *vmf) } if (vma->vm_flags & VM_MIXEDMAP) - ret = vm_insert_mixed(&cvma, address, + err = vm_insert_mixed(&cvma, address, __pfn_to_pfn_t(pfn, PFN_DEV)); else - ret = vm_insert_pfn(&cvma, address, pfn); + err = vm_insert_pfn(&cvma, address, pfn); /* * Somebody beat us to this PTE or prefaulting to * an already populated PTE, or prefaulting error. */ - if (unlikely((ret == -EBUSY) || (ret != 0 && i > 0))) + if (unlikely((err == -EBUSY) || (err != 0 && i > 0))) break; - else if (unlikely(ret != 0)) { + else if (unlikely(err != 0)) { ret = - (ret == -ENOMEM) ? VM_FAULT_OOM : VM_FAULT_SIGBUS; + (err == -ENOMEM) ? VM_FAULT_OOM : VM_FAULT_SIGBUS; goto out_io_unlock; } -- 2.17.0