Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next
- Reply: Mark Johnston : "Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next"
- Reply: Mark Johnston : "Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next"
- In reply to: Nuno Teixeira : "Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 19 Apr 2025 03:28:59 UTC
On 25. 4. 18., Nuno Teixeira wrote:
> Hello,
>
> graphics/drm-61-kmod is failing to build and maybe related to some of
> this commits.
> Could you take a look and check if it related?
>
> Thanks
>
> ```
> cc -O2 -pipe -fno-strict-aliasing -DLINUXKPI_VERSION=60100 '-
> DKBUILD_MODNAME="i915kms"' '-DLINUXKPI_PARAM_PREFIX=i915_' -
> DDRM_SYSCTL_PARAM_PREFIX=_i915kms -DCONFIG_DRM_AMDGPU_CIK -
> DCONFIG_DRM_AMDGPU_SI -DCONFIG_DRM_AMD_DC -DCONFIG_DRM_AMD_DC_SI -
> DCONFIG_AMD_PMC -DCONFIG_DRM_I915_FORCE_PROBE='"*"' -
> DCONFIG_DRM_I915_REQUEST_TIMEOUT=20000 -DCONFIG_DRM_I915_CAPTURE_ERROR -
> DCONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 -
> DCONFIG_DRM_I915_STOP_TIMEOUT=100 -DCONFIG_DRM_I915_PREEMPT_TIMEOUT=640
> -DCONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 -
> DCONFIG_DRM_I915_TIMESLICE_DURATION=1 -
> DCONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 -
> DCONFIG_DRM_I915_FENCE_TIMEOUT=10000 -DCONFIG_DRM_MIPI_DSI -
> DCONFIG_DRM_PANEL_ORIENTATION_QUIRKS -DCONFIG_APERTURE_HELPERS -
> DCONFIG_DRM_FBDEV_EMULATION -DCONFIG_DRM_FBDEV_OVERALLOC=100 -
> DCONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG -DCONFIG_BACKLIGHT_CLASS_DEVICE -
> DCONFIG_DEBUG_FS -DCONFIG_DMI -DCONFIG_FB -DCONFIG_MTRR -DCONFIG_PCI -
> DCONFIG_PM -DCONFIG_PM_SLEEP -DCONFIG_SMP -DCONFIG_SUSPEND -DCONFIG_ACPI
> -DCONFIG_ACPI_SLEEP -DCONFIG_X86 -DCONFIG_X86_PAT -DCONFIG_64BIT -
> DCONFIG_AS_MOVNTDQA -DCONFIG_COMPAT -DCONFIG_X86_64 -
> DCONFIG_DRM_AMD_DC_DCN -DCONFIG_DRM_AMD_DC_DCN3_0 -
> DCONFIG_DRM_AMD_DC_DCN3_01 -DCONFIG_DRM_AMD_DC_DCN3_02 -
> DCONFIG_DRM_AMD_DC_DCN3_1 -Werror
> -D_KERNEL -DKLD_MODULE -nostdinc -I/wrkdirs/usr/ports/graphics/drm-61-
> kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/gplv2/include -I/wrkdirs/usr/
> ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/linuxkpi/bsd/
> include -I/usr/src/sys/compat/linuxkpi/common/include -I/usr/src/sys/
> compat/linuxkpi/dummy/include -I/wrkdirs/usr/ports/graphics/drm-61-kmod/
> work/drm-kmod-drm_v6.1.128_1/include -I/wrkdirs/usr/ports/graphics/
> drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/drm -I/wrkdirs/usr/
> ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/include/uapi -I/
> wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/
> drivers/gpu -I/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-
> drm_v6.1.128_1/drivers/gpu/drm/i915 -I/wrkdirs/usr/ports/graphics/
> drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/display -
> include /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-
> drm_v6.1.128_1/obj/wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-
> drm_v6.1.128_1/i915/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/
> contrib/ck/include -fno-common -fno-omit-frame-pointer -mno-omit-leaf-
> frame-pointer -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include -
> fdebug-prefix-map=./x86=/usr/src/sys/x86/include -fdebug-prefix-map=./
> i386=/usr/src/sys/i386/include -MD -MF.depend.i915_gem_stolen.o -
> MTi915_gem_stolen.o -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -
> msoft-float -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -
> fstack-protector -Wall -Wstrict-prototypes -Wmissing-prototypes -
> Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -
> D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-
> show-option -Wno-unknown-pragmas -Wswitch -Wno-error=tautological-
> compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-
> error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-
> value -Wno-address-of-packed-member -Wno-format-zero-length -Wno-
> pointer-arith -Wno-format -Wno-cast-qual -mno-aes -mno-avx -std=gnu17
> -c /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/
> drivers/gpu/drm/i915/gem/i915_gem_stolen.c -o i915_gem_stolen.o
> --- i915_gem_mman.o ---
> /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/
> drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to
> undeclared function 'vm_page_next'; ISO C99 and later do not support
> implicit function declarations [-Werror,-Wimplicit-function-declaration]
> 171 | for (vm_page_t page =
> vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) {
> |
> ^
> /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/
> drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:75: error: incompatible
> integer to pointer conversion assigning to 'vm_page_t' (aka 'struct
> vm_page *') from 'int' [-Wint-conversion]
> 171 | for (vm_page_t page =
> vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) {
> |
> ^ ~~~~~~~~~~~~~~~~~~
> 2 errors generated.
> *** [i915_gem_mman.o] Error code 1
>
> make[1]: stopped making "all" in /wrkdirs/usr/ports/graphics/drm-61-
> kmod/work/drm-kmod-drm_v6.1.128_1/i915
> make[1]: 1 error
> ```
>
> Doug Moore <dougm@freebsd.org <mailto:dougm@freebsd.org>> escreveu
> (sexta, 18/04/2025 à(s) 20:28):
>
> The branch main has been updated by dougm:
>
> URL: https://cgit.FreeBSD.org/src/commit/?
> id=a3a88ed22cb111da3336f64ec3ba5815a8278f88 <https://
> cgit.FreeBSD.org/src/commit/?
> id=a3a88ed22cb111da3336f64ec3ba5815a8278f88>
>
> commit a3a88ed22cb111da3336f64ec3ba5815a8278f88
> Author: Doug Moore <dougm@FreeBSD.org>
> AuthorDate: 2025-04-18 19:26:56 +0000
> Commit: Doug Moore <dougm@FreeBSD.org>
> CommitDate: 2025-04-18 19:26:56 +0000
>
> vm_page: drop prev and next
>
> Functions vm_page_prev() and vm_page_next() are no longer
> invoked. Remove them.
>
> Reviewed by: kib
> Differential Revision: https://reviews.freebsd.org/D49892
> <https://reviews.freebsd.org/D49892>
> ---
> sys/vm/vm_page.c | 40 ----------------------------------------
> sys/vm/vm_page.h | 2 --
> 2 files changed, 42 deletions(-)
>
> diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
> index 65d278caf3fd..db91b7bab2ab 100644
> --- a/sys/vm/vm_page.c
> +++ b/sys/vm/vm_page.c
> @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object,
> vm_pindex_t pindex)
> return (m);
> }
>
> -/*
> - * Returns the given page's successor (by pindex) within the object
> if it is
> - * resident; if none is found, NULL is returned.
> - *
> - * The object must be locked.
> - */
> -vm_page_t
> -vm_page_next(vm_page_t m)
> -{
> - vm_page_t next;
> -
> - VM_OBJECT_ASSERT_LOCKED(m->object);
> - if ((next = TAILQ_NEXT(m, listq)) != NULL) {
> - MPASS(next->object == m->object);
> - if (next->pindex != m->pindex + 1)
> - next = NULL;
> - }
> - return (next);
> -}
> -
> -/*
> - * Returns the given page's predecessor (by pindex) within the
> object if it is
> - * resident; if none is found, NULL is returned.
> - *
> - * The object must be locked.
> - */
> -vm_page_t
> -vm_page_prev(vm_page_t m)
> -{
> - vm_page_t prev;
> -
> - VM_OBJECT_ASSERT_LOCKED(m->object);
> - if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) {
> - MPASS(prev->object == m->object);
> - if (prev->pindex != m->pindex - 1)
> - prev = NULL;
> - }
> - return (prev);
> -}
> -
> /*
> * Uses the page mnew as a replacement for an existing page at index
> * pindex which must be already present in the object.
> diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
> index 0a40b42ffb62..bf2e850612d7 100644
> --- a/sys/vm/vm_page.h
> +++ b/sys/vm/vm_page.h
> @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter
> *old_pages, vm_page_t m,
> void vm_page_launder(vm_page_t m);
> vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t);
> vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t);
> -vm_page_t vm_page_next(vm_page_t m);
> void vm_page_pqbatch_drain(void);
> void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue);
> bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old,
> vm_page_astate_t new);
> -vm_page_t vm_page_prev(vm_page_t m);
> bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t
> skip_m);
> void vm_page_putfake(vm_page_t m);
> void vm_page_readahead_finish(vm_page_t m);
>
>
>
> --
> Nuno Teixeira
> FreeBSD UNIX: <eduardo@FreeBSD.org> Web: https://FreeBSD.org
> <https://FreeBSD.org>
FYI, emulators/virtualbox-ose-kmod, emulators/virtualbox-ose-kmod-70,
and graphics/drm-66-kmod are also affected.
Jung-uk Kim