mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Michael Larabel <Michael@phoronix.com>
To: Vlastimil Babka <vbabka@suse.cz>,
	Alexei Starovoitov <alexei.starovoitov@gmail.com>,
	Dave Airlie <airlied@gmail.com>,
	Shakeel Butt <shakeel.butt@linux.dev>,
	Sebastian Sewior <bigeasy@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Linux 6.15-rc3
Date: Wed, 23 Apr 2025 09:38:59 -0500	[thread overview]
Message-ID: <8626886c-59b7-4294-9bb2-08663650e199@phoronix.com> (raw)
In-Reply-To: <d1c0f057-63c8-4be5-9638-d1a67d9b9e15@suse.cz>

On 4/23/25 3:08 AM, Vlastimil Babka wrote:
> On 4/23/25 10:03, Vlastimil Babka wrote:
>> On 4/23/25 09:14, Vlastimil Babka wrote:
>>
>> Oh I see, replacing the default: which "local_lock_t *:" which is the only
>> other expected type, forces the compiler to actually tell me what's wrong:
>>
>> ./include/linux/local_lock_internal.h:174:26: error: ‘_Generic’ selector of
>> type ‘__seg_gs local_lock_t *’ is not compatible with any association
>>
>>
> This should fix the issue hopefully and prevent more unexpected default matches:
>
> diff --git a/include/linux/local_lock_internal.h b/include/linux/local_lock_internal.h
> index bf2bf40d7b18..8d5ac16a9b17 100644
> --- a/include/linux/local_lock_internal.h
> +++ b/include/linux/local_lock_internal.h
> @@ -102,11 +102,11 @@ do {								\
>   		l = (local_lock_t *)this_cpu_ptr(lock);			\
>   		tl = (local_trylock_t *)l;				\
>   		_Generic((lock),					\
> -			local_trylock_t *: ({				\
> +			__percpu local_trylock_t *: ({			\
>   				lockdep_assert(tl->acquired == 0);	\
>   				WRITE_ONCE(tl->acquired, 1);		\
>   			}),						\
> -			default:(void)0);				\
> +			__percpu local_lock_t *: (void)0);		\
>   		local_lock_acquire(l);					\
>   	} while (0)
>   
> @@ -171,11 +171,11 @@ do {								\
>   		tl = (local_trylock_t *)l;				\
>   		local_lock_release(l);					\
>   		_Generic((lock),					\
> -			local_trylock_t *: ({				\
> +			__percpu local_trylock_t *: ({			\
>   				lockdep_assert(tl->acquired == 1);	\
>   				WRITE_ONCE(tl->acquired, 0);		\
>   			}),						\
> -			default:(void)0);				\
> +			__percpu local_lock_t *: (void)0);		\
>   	} while (0)
>   
>   #define __local_unlock(lock)					\
>
>

In addition to fixing the Nginx performance, I can confirm this patch 
does also fix the other regressions I found as well caused by 51339d99c 
with Memcached, ClickHouse, and OpenFOAM. All the tests I have been 
running with current Git + this patch have been working out well and 
haven't noticed any other problems from it. Will keep running through 
some more workloads on that server but seems to now be in good shape.

Thanks,

Michael


Tested-by: Michael Larabel <Michael@phoronix.com>


  reply	other threads:[~2025-04-23 14:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-20 21:01 Linus Torvalds
2025-04-20 23:03 ` Linus Torvalds
2025-04-21 13:20 ` Guenter Roeck
2025-04-22 23:01 ` Dave Airlie
2025-04-22 23:37   ` Alexei Starovoitov
2025-04-23  0:12     ` Shakeel Butt
2025-04-23  0:54       ` Michael Larabel
2025-04-23  8:42         ` Vlastimil Babka
2025-04-23 13:57           ` Michael Larabel
2025-04-23 15:41           ` Alexei Starovoitov
2025-04-23 16:05             ` Linus Torvalds
2025-04-23  7:14     ` Vlastimil Babka
2025-04-23  8:03       ` Vlastimil Babka
2025-04-23  8:08         ` Vlastimil Babka
2025-04-23 14:38           ` Michael Larabel [this message]
2025-04-23 15:06         ` Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8626886c-59b7-4294-9bb2-08663650e199@phoronix.com \
    --to=michael@phoronix.com \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexei.starovoitov@gmail.com \
    --cc=ast@kernel.org \
    --cc=bigeasy@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shakeel.butt@linux.dev \
    --cc=torvalds@linux-foundation.org \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®