All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Souptick Joarder <jrdr.linux@gmail.com>,
	Matthew Wilcox <willy@infradead.org>
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	[thread overview]
Message-ID: <20180516054348.15950-12-hch@lst.de> (raw)
In-Reply-To: <20180516054348.15950-1-hch@lst.de>

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 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


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Souptick Joarder <jrdr.linux@gmail.com>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-mm@kvack.org, ocfs2-devel@oss.oracle.com,
	devel@lists.orangefs.org, linux-fsdevel@vger.kernel.org,
	linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org,
	linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org,
	lustre-devel@lists.lustre.org
Subject: [PATCH 11/14] ttm: separate errno from VM_FAULT_* values
Date: Wed, 16 May 2018 07:43:45 +0200	[thread overview]
Message-ID: <20180516054348.15950-12-hch@lst.de> (raw)
In-Reply-To: <20180516054348.15950-1-hch@lst.de>

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Souptick Joarder <jrdr.linux@gmail.com>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-mm@kvack.org, ocfs2-devel@oss.oracle.com,
	devel@lists.orangefs.org, linux-fsdevel@vger.kernel.org,
	linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org,
	linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org,
	lustre-devel@lists.lustre.org
Subject: [Ocfs2-devel] [PATCH 11/14] ttm: separate errno from VM_FAULT_* values
Date: Wed, 16 May 2018 07:43:45 +0200	[thread overview]
Message-ID: <20180516054348.15950-12-hch@lst.de> (raw)
In-Reply-To: <20180516054348.15950-1-hch@lst.de>

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 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

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Souptick Joarder <jrdr.linux@gmail.com>,
	Matthew Wilcox <willy@infradead.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-mm@kvack.org, ocfs2-devel@oss.oracle.com,
	devel@lists.orangefs.org, linux-fsdevel@vger.kernel.org,
	linux-mtd@lists.infradead.org, ceph-devel@vger.kernel.org,
	linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org,
	lustre-devel@lists.lustre.org
Subject: [lustre-devel] [PATCH 11/14] ttm: separate errno from VM_FAULT_* values
Date: Wed, 16 May 2018 07:43:45 +0200	[thread overview]
Message-ID: <20180516054348.15950-12-hch@lst.de> (raw)
In-Reply-To: <20180516054348.15950-1-hch@lst.de>

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 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

WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 11/14] ttm: separate errno from VM_FAULT_* values
Date: Wed, 16 May 2018 07:43:45 +0200	[thread overview]
Message-ID: <20180516054348.15950-12-hch@lst.de> (raw)
In-Reply-To: <20180516054348.15950-1-hch@lst.de>

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 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

  parent reply	other threads:[~2018-05-16  5:44 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-16  5:43 vm_fault_t conversion, for real Christoph Hellwig
2018-05-16  5:43 ` Christoph Hellwig
2018-05-16  5:43 ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43 ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43 ` [PATCH 01/14] orangefs: don't return errno values from ->fault Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16 11:18   ` Matthew Wilcox
2018-05-16 11:18     ` Matthew Wilcox
2018-05-16 11:18     ` [lustre-devel] " Matthew Wilcox
2018-05-16  5:43 ` [PATCH 02/14] fs: make the filemap_page_mkwrite prototype consistent Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43 ` [PATCH 03/14] dax: make the dax_iomap_fault " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43 ` [PATCH 04/14] mm: remove the unused device_private_entry_fault export Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43 ` [PATCH 05/14] ceph: untangle ceph_filemap_fault Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43 ` [PATCH 06/14] btrfs: separate errno from VM_FAULT_* values Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16 11:13   ` David Sterba
2018-05-16 11:13     ` David Sterba
2018-05-16 11:13     ` [lustre-devel] " David Sterba
2018-05-16 11:13     ` [Ocfs2-devel] " David Sterba
2018-05-16 11:13     ` David Sterba
2018-05-16  5:43 ` [PATCH 07/14] ext4: " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43 ` [PATCH 08/14] ocfs2: " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43 ` [PATCH 09/14] ubifs: " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43 ` [PATCH 10/14] vgem: " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  9:53   ` Daniel Vetter
2018-05-16  9:53     ` Daniel Vetter
2018-05-16  9:53     ` [lustre-devel] " Daniel Vetter
2018-05-16  9:53     ` Daniel Vetter
2018-05-16 13:01     ` Christoph Hellwig
2018-05-16 13:01       ` Christoph Hellwig
2018-05-16 13:01       ` [lustre-devel] " Christoph Hellwig
2018-05-16 13:01       ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16 13:01       ` Christoph Hellwig
2018-05-16 13:13       ` Matthew Wilcox
2018-05-16 13:13         ` Matthew Wilcox
2018-05-16 13:13         ` [lustre-devel] " Matthew Wilcox
2018-05-16  5:43 ` Christoph Hellwig [this message]
2018-05-16  5:43   ` [PATCH 11/14] ttm: " Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43 ` [PATCH 12/14] lustre: " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43 ` [PATCH 13/14] mm: move arch specific VM_FAULT_* flags to mm.h Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16  5:43 ` [PATCH 14/14] mm: turn on vm_fault_t type checking Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [lustre-devel] " Christoph Hellwig
2018-05-16  5:43   ` Christoph Hellwig
2018-05-16  5:43   ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16 11:28   ` Matthew Wilcox
2018-05-16 11:28     ` Matthew Wilcox
2018-05-16 11:28     ` [lustre-devel] " Matthew Wilcox
2018-05-16 11:28     ` Matthew Wilcox
2018-05-16 13:03     ` Christoph Hellwig
2018-05-16 13:03       ` Christoph Hellwig
2018-05-16 13:03       ` [lustre-devel] " Christoph Hellwig
2018-05-16 13:03       ` Christoph Hellwig
2018-05-16 13:03       ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16 13:03       ` Christoph Hellwig
2018-05-16 15:08   ` Darrick J. Wong
2018-05-16 15:08     ` Darrick J. Wong
2018-05-16 15:08     ` [lustre-devel] " Darrick J. Wong
2018-05-16 15:08     ` Darrick J. Wong
2018-05-16 15:08     ` [Ocfs2-devel] " Darrick J. Wong
2018-05-16 15:08     ` Darrick J. Wong
2018-05-16 17:34     ` Christoph Hellwig
2018-05-16 17:34       ` Christoph Hellwig
2018-05-16 17:34       ` [lustre-devel] " Christoph Hellwig
2018-05-16 17:34       ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16 17:34       ` Christoph Hellwig
2018-05-16 11:23 ` vm_fault_t conversion, for real Matthew Wilcox
2018-05-16 11:23   ` Matthew Wilcox
2018-05-16 11:23   ` [lustre-devel] " Matthew Wilcox
2018-05-16 13:03   ` Christoph Hellwig
2018-05-16 13:03     ` Christoph Hellwig
2018-05-16 13:03     ` [lustre-devel] " Christoph Hellwig
2018-05-16 13:03     ` [Ocfs2-devel] " Christoph Hellwig
2018-05-16 13:03     ` Christoph Hellwig
2018-05-16 13:22     ` Matthew Wilcox
2018-05-16 13:22       ` Matthew Wilcox
2018-05-16 13:22       ` [lustre-devel] " Matthew Wilcox
2018-05-16 17:32       ` Christoph Hellwig
2018-05-16 17:32         ` Christoph Hellwig
2018-05-16 17:32         ` [lustre-devel] " Christoph Hellwig
2018-05-16 17:32         ` [Ocfs2-devel] " Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180516054348.15950-12-hch@lst.de \
    --to=hch@lst.de \
    --cc=ceph-devel@vger.kernel.org \
    --cc=devel@lists.orangefs.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jrdr.linux@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=lustre-devel@lists.lustre.org \
    --cc=ocfs2-devel@oss.oracle.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.