On Thu, Mar 12, 2026 at 05:32:27PM +0100, Boris Brezillon wrote:
> Do we really need to duplicate everything? Can't we rename
> drm_gem_shmem_fault() into drm_gem_shmem_any_fault() with a
> `bool try_pmd` passed as an argument, and then have
> drm_gem_shmem_[huge_]fault() as wrappers?
>
> static vm_fault_t drm_gem_shmem_huge_fault(struct vm_fault *vmf,
> unsigned int order)
> {
> if (order != PMD_ORDER)
> return VM_FAULT_FALLBACK;
>
> return drm_gem_shmem_any_fault(vmf, true);
> }
>
> static vm_fault_t drm_gem_shmem_fault(struct vm_fault *vmf)
> {
> return drm_gem_shmem_any_fault(vmf, false);
> }
>
Ack.
> > @@ -643,6 +667,9 @@ static void drm_gem_shmem_vm_close(struct
> > vm_area_struct *vma)
> >
> > const struct vm_operations_struct drm_gem_shmem_vm_ops = {
> > .fault = drm_gem_shmem_fault,
> > + #ifdef CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP
> > + .huge_fault = drm_gem_shmem_huge_fault,
> > + #endif
>
> Let's keep the #ifdef unindented:
>
> #ifdef CONFIG_ARCH_SUPPORTS_HUGE_PFNMAP
> .huge_fault = drm_gem_shmem_huge_fault,
> #endif
>
> > .open = drm_gem_shmem_vm_open,
> > .close = drm_gem_shmem_vm_close,
> > };
>
Ack.
I will send a v2 addressing these issues.
Thanks.