Quetions about the task scheduler

uxTopReadyPriority records the highest priority for which a task is ready to run. It is updated whenever a task is added to ready list: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/tasks.c#L223. This way the scheduler does not need to search for the all the ready lists but only the list for uxTopReadyPriority.
Port optimized task selection usually maintain top ready priority as a bit in a 32-bit number and use a hardware instruction to find the topmost set bit: https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/portable/GCC/ARM_CM4F/portmacro.h#L132. It is not yet clear how setting uxTopReadyPriority can cause any problem.

If you are using Cortex-M33, is there a reason not to use the official port: https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/main/portable/GCC/ARM_CM33.

Thanks.