[Intel-gfx] [PATCH v4] gpu: drm: i915: Change return type to vm_fault_t

Souptick Joarder jrdr.linux at gmail.com
Thu May 31 04:32:16 UTC 2018


On Mon, May 21, 2018 at 4:48 PM, Souptick Joarder <jrdr.linux at gmail.com> wrote:
> On Thu, May 17, 2018 at 10:40 AM, Souptick Joarder <jrdr.linux at gmail.com> wrote:
>> On Thu, May 17, 2018 at 12:48 AM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
>>> Quoting Souptick Joarder (2018-05-16 20:12:20)
>>>> Use new return type vm_fault_t for fault handler. For
>>>> now, this is just documenting that the function returns
>>>> a VM_FAULT value rather than an errno. Once all instances
>>>> are converted, vm_fault_t will become a distinct type.
>>>>
>>>> commit 1c8f422059ae ("mm: change return type to vm_fault_t")
>>>>
>>>> Fixed one checkpatch.pl warning inside WARN_ONCE.
>>>>
>>>> Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
>>>> ---
>>>
>>>> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
>>>> index dd89abd..732abdf 100644
>>>> --- a/drivers/gpu/drm/i915/i915_gem.c
>>>> +++ b/drivers/gpu/drm/i915/i915_gem.c
>>>> @@ -1882,7 +1882,7 @@ int i915_gem_mmap_gtt_version(void)
>>>>   * The current feature set supported by i915_gem_fault() and thus GTT mmaps
>>>>   * is exposed via I915_PARAM_MMAP_GTT_VERSION (see i915_gem_mmap_gtt_version).
>>>>   */
>>>> -int i915_gem_fault(struct vm_fault *vmf)
>>>> +vm_fault_t i915_gem_fault(struct vm_fault *vmf)
>>>>  {
>>>>  #define MIN_CHUNK_PAGES ((1 << 20) >> PAGE_SHIFT) /* 1 MiB */
>>>>         struct vm_area_struct *area = vmf->vma;
>>>> @@ -1894,7 +1894,8 @@ int i915_gem_fault(struct vm_fault *vmf)
>>>>         struct i915_vma *vma;
>>>>         pgoff_t page_offset;
>>>>         unsigned int flags;
>>>> -       int ret;
>>>> +       int err;
>>>> +       vm_fault_t ret = VM_FAULT_SIGBUS;
>>>>
>>>>         /* We don't use vmf->pgoff since that has the fake offset */
>>>>         page_offset = (vmf->address - area->vm_start) >> PAGE_SHIFT;
>>>> @@ -2027,8 +2028,7 @@ int i915_gem_fault(struct vm_fault *vmf)
>>>>                 ret = VM_FAULT_SIGBUS;
>>>>                 break;
>>>>         default:
>>>> -               WARN_ONCE(ret, "unhandled error in i915_gem_fault: %i\n", ret);
>>>> -               ret = VM_FAULT_SIGBUS;
>>>> +               WARN_ONCE(ret, "unhandled error in %s: %x\n", __func__, err);
>>>>                 break;
>>>
>>> Even simpler would be to use e.g. return VM_FAULT_SIGBUS for each case
>>> above. No early initialisation of use-once variables allowing the
>>> compiler to do it's job. For a smaller patch, you can even skip the
>>> s/ret/err/
>>> -Chris
>>
>> Chris,
>> I prefer to use return once at the end of the function rather than
>> writing multiple return statement (Current code is doing similar).
>> But if you think other way, I can make that change :)
>
> If no further comment, we would like to get this patch
> in queue for 4.18

We need to get this patch in queue for 4.18.


More information about the Intel-gfx mailing list