2023-04-25 18:50:34

by Thomas Gleixner

[permalink] [raw]
Subject: [patch 08/20] posix-timers: Remove pointless irqsafe from hash_lock

All usage of hash_lock is in thread context. No point in using
spin_lock_irqsave()/irqrestore() for a single usage site.

Signed-off-by: Thomas Gleixner <[email protected]>
---
kernel/time/posix-timers.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -470,10 +470,9 @@ static void k_itimer_rcu_free(struct rcu
static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
{
if (it_id_set) {
- unsigned long flags;
- spin_lock_irqsave(&hash_lock, flags);
+ spin_lock(&hash_lock, flags);
hlist_del_rcu(&tmr->t_hash);
- spin_unlock_irqrestore(&hash_lock, flags);
+ spin_unlock(&hash_lock, flags);
}
put_pid(tmr->it_pid);
sigqueue_free(tmr->sigq);


2023-06-01 10:38:56

by Frederic Weisbecker

[permalink] [raw]
Subject: Re: [patch 08/20] posix-timers: Remove pointless irqsafe from hash_lock

On Tue, Apr 25, 2023 at 08:49:08PM +0200, Thomas Gleixner wrote:
> All usage of hash_lock is in thread context. No point in using
> spin_lock_irqsave()/irqrestore() for a single usage site.
>
> Signed-off-by: Thomas Gleixner <[email protected]>

Reviewed-by: Frederic Weisbecker <[email protected]>

Subject: [tip: timers/core] posix-timers: Remove pointless irqsafe from hash_lock

The following commit has been merged into the timers/core branch of tip:

Commit-ID: 032c960ac9f3d64487423e0e01a0fb7327509595
Gitweb: https://git.kernel.org/tip/032c960ac9f3d64487423e0e01a0fb7327509595
Author: Thomas Gleixner <[email protected]>
AuthorDate: Tue, 25 Apr 2023 20:49:08 +02:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Mon, 05 Jun 2023 17:03:37 +02:00

posix-timers: Remove pointless irqsafe from hash_lock

All usage of hash_lock is in thread context. No point in using
spin_lock_irqsave()/irqrestore() for a single usage site.

Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Frederic Weisbecker <[email protected]>
Link: https://lore.kernel.org/r/[email protected]

---
kernel/time/posix-timers.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index e8d877f..d8d4cdf 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -471,10 +471,9 @@ static void k_itimer_rcu_free(struct rcu_head *head)
static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
{
if (it_id_set) {
- unsigned long flags;
- spin_lock_irqsave(&hash_lock, flags);
+ spin_lock(&hash_lock, flags);
hlist_del_rcu(&tmr->t_hash);
- spin_unlock_irqrestore(&hash_lock, flags);
+ spin_unlock(&hash_lock, flags);
}
put_pid(tmr->it_pid);
sigqueue_free(tmr->sigq);

Subject: [tip: timers/core] posix-timers: Remove pointless irqsafe from hash_lock

The following commit has been merged into the timers/core branch of tip:

Commit-ID: 11fbe6cd41210c7b5173257158a22e11e225622d
Gitweb: https://git.kernel.org/tip/11fbe6cd41210c7b5173257158a22e11e225622d
Author: Thomas Gleixner <[email protected]>
AuthorDate: Tue, 25 Apr 2023 20:49:08 +02:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Sun, 18 Jun 2023 22:41:49 +02:00

posix-timers: Remove pointless irqsafe from hash_lock

All usage of hash_lock is in thread context. No point in using
spin_lock_irqsave()/irqrestore() for a single usage site.

Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Frederic Weisbecker <[email protected]>
Link: https://lore.kernel.org/r/[email protected]

---
kernel/time/posix-timers.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index c1b77c5..ed7d260 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -471,10 +471,9 @@ static void k_itimer_rcu_free(struct rcu_head *head)
static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
{
if (it_id_set) {
- unsigned long flags;
- spin_lock_irqsave(&hash_lock, flags);
+ spin_lock(&hash_lock, flags);
hlist_del_rcu(&tmr->t_hash);
- spin_unlock_irqrestore(&hash_lock, flags);
+ spin_unlock(&hash_lock, flags);
}
put_pid(tmr->it_pid);
sigqueue_free(tmr->sigq);