On Fri, Jul 2, 2021 at 8:07 PM Yury Norov <yury.norov@xxxxxxxxx> wrote: > On Thu, Jul 01, 2021 at 05:08:45AM -0700, Paul Moore wrote: > > To Catalin, Arnd: > > At least Marvell, Samsung, Huawei, Cisco and Weiyuchen's employer > actively use and develop arm64/ilp32. I receive feedback / bugrepotrs > on ilp32 every 4-6 month. Is that enough for you to reconsider > including the project into the mainline? > > For me, having different versions of ILP32 is more dangerous in this > situation, than upstreaming the project and fixing 2-3 bugs a year. I think the overall tradeoff is not that different from what it was in the past. Keeping it out of the tree clearly creates extra work both for you and the users, but reduces the overhead for everyone else, who can ignore that corner case. We have tried removing both x86-x32 support and arm64 big-endian support from the kernel not that long ago. Both have considerably more impact on kernel maintenance than your aarch64-ilp32 work, and they probably even have fewer users, but we always ended up keeping the status quo. However, there are clearly some changes that happened over the past few years that may be relevant here: - The expectation in the past was that ilp32 support would eventually go away as users move on to full 64-bit support. It has survived a lot longer than I would have guessed, but I still find it hard to tell whether this would continue. What's more important than the current number of users is how many of those you expect to run linux-6.x or linux-7.x with aarch64-ilp32 in the future. - Another thing that has changed is that we now have a rough timeline for aarch32 support to be removed from future Arm processors. If no Armv9 processors after 2022 support Aarch32 mode, we may see interest in ilp32 mode go up between 2025 and 2030 when those processors make it into more markets. - On the other hand, interest in not just 32-bit hardware running Linux but also in 32-bit user space is already declining overall. We'll probably still see some 10 to 20 years of 32-bit user space deployments on (mostly) memory constrained systems, but this is getting increasingly obscure as more applications run into virtual memory space restrictions (3GB or 4GB typically) before they exceed the available RAM. On RV64 and ARCv3, there is already a conclusion that they will not support 32-bit user space, neither ilp32 style on 64-bit instructions nor with hardware support for RV32/ARC32 binaries. I expect the same for Loongarch. Arnd