On Wed, Aug 06, 2025 at 09:15:50PM +0530, Pranav Tyagi wrote:
On Wed, Jul 30, 2025 at 7:53 PM Pranav Tyagi pranav.tyagi03@gmail.com wrote:
Replace typeof() with __auto_type in the swap() macro in uffd-stress.c. __auto_type was introduced in GCC 4.9 and reduces the compile time for all compilers. No functional changes intended.
Signed-off-by: Pranav Tyagi pranav.tyagi03@gmail.com
tools/testing/selftests/mm/uffd-stress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/mm/uffd-stress.c b/tools/testing/selftests/mm/uffd-stress.c index 40af7f67c407..c0f64df5085c 100644 --- a/tools/testing/selftests/mm/uffd-stress.c +++ b/tools/testing/selftests/mm/uffd-stress.c @@ -51,7 +51,7 @@ static char *zeropage; pthread_attr_t attr;
#define swap(a, b) \
do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
do { __auto_type __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
const char *examples = "# Run anonymous memory test on 100MiB region with 99999 bounces:\n" -- 2.49.0
Hi,
Just a gentle follow-up on this cleanup patch. From what I could find, this is the only use of typeof() left in the mm selftests, so this should be the only instance needing this change.
Thanks for considering!
Hi,
Andrew should have queued this one in branch akpm/mm-nonmm-unstable (even though I'm not familiar with the branch).
Said that, I'm also not familiar with __auto_type. Looks like it's more efficiently processed by the compiler in some special use cases, however it's also new so maybe some tools (sparse?) may not recognize it.
Is it the plan that the whole Linux kernel is moving towards __auto_type? I still see quite a few of typeof() usages (not "a few", but 2966 instances).
Thanks,