From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Petr Mladek <pmladek@suse.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
david@redhat.com, patches@lists.linux.dev,
linux-modules@vger.kernel.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, petr.pavlu@suse.com,
prarit@redhat.com, gregkh@linuxfoundation.org, rafael@kernel.org,
christophe.leroy@csgroup.eu, tglx@linutronix.de, song@kernel.org,
rppt@kernel.org, willy@infradead.org, vbabka@suse.cz,
mhocko@suse.com, dave.hansen@linux.intel.com
Subject: Re: [PATCH 4/7] sempahore: add a helper for a concurrency limiter
Date: Fri, 31 Mar 2023 13:11:54 +0900 [thread overview]
Message-ID: <20230331041154.GC12892@google.com> (raw)
In-Reply-To: <ZCZXcJ+KJffpFrpX@bombadil.infradead.org>
On (23/03/30 20:45), Luis Chamberlain wrote:
[..]
> -static DEFINE_SEMAPHORE(console_sem);
> +static DEFINE_MUTEX(console_sem);
> HLIST_HEAD(console_list);
> EXPORT_SYMBOL_GPL(console_list);
> DEFINE_STATIC_SRCU(console_srcu);
> @@ -309,7 +309,7 @@ EXPORT_SYMBOL(console_srcu_read_unlock);
> * macros instead of functions so that _RET_IP_ contains useful information.
> */
> #define down_console_sem() do { \
> - down(&console_sem);\
> + mutex_lock(&console_sem);\
> mutex_acquire(&console_lock_dep_map, 0, 0, _RET_IP_);\
> } while (0)
>
> @@ -324,7 +324,7 @@ static int __down_trylock_console_sem(unsigned long ip)
> * deadlock in printk()->down_trylock_console_sem() otherwise.
> */
> printk_safe_enter_irqsave(flags);
> - lock_failed = down_trylock(&console_sem);
> + lock_failed = !mutex_trylock(&console_sem);
> printk_safe_exit_irqrestore(flags);
>
> if (lock_failed)
> @@ -341,7 +341,7 @@ static void __up_console_sem(unsigned long ip)
> mutex_release(&console_lock_dep_map, ip);
>
> printk_safe_enter_irqsave(flags);
> - up(&console_sem);
> + mutex_unlock(&console_sem);
mutex_unlock() does not like when its called from IRQ, so this is not
going to work very well.
next prev parent reply other threads:[~2023-03-31 4:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-29 5:31 [PATCH 0/7] module: avoid userspace pressure on unwanted allocations Luis Chamberlain
2023-03-29 5:31 ` [PATCH 1/7] module: move finished_loading() Luis Chamberlain
2023-03-29 5:31 ` [PATCH 2/7] module: extract patient module check into helper Luis Chamberlain
2023-03-29 5:31 ` [PATCH 3/7] module: avoid allocation if module is already present and ready Luis Chamberlain
2023-03-29 5:31 ` [PATCH 4/7] sempahore: add a helper for a concurrency limiter Luis Chamberlain
2023-03-29 7:21 ` Peter Zijlstra
2023-03-29 7:51 ` Luis Chamberlain
2023-03-29 9:19 ` Peter Zijlstra
2023-03-29 9:49 ` Luis Chamberlain
2023-03-29 10:14 ` Peter Zijlstra
2023-03-29 16:50 ` Linus Torvalds
2023-03-30 11:56 ` Peter Zijlstra
2023-03-30 16:23 ` Linus Torvalds
2023-03-31 3:42 ` Sergey Senozhatsky
2023-03-31 8:05 ` Petr Mladek
2023-03-31 3:45 ` Luis Chamberlain
2023-03-31 4:06 ` Matthew Wilcox
2023-03-31 4:13 ` Luis Chamberlain
2023-03-31 4:11 ` Sergey Senozhatsky [this message]
2023-03-29 5:31 ` [PATCH 5/7] modules/kmod: replace implementation with a sempahore Luis Chamberlain
2023-03-29 5:31 ` [PATCH 6/7] debugfs: add debugfs_create_atomic64_t for atomic64_t Luis Chamberlain
2023-03-29 5:46 ` Greg KH
2023-03-29 5:31 ` [PATCH 7/7] module: add debug stats to help identify memory pressure Luis Chamberlain
2023-03-29 5:46 ` Greg KH
2023-03-29 6:04 ` Luis Chamberlain
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=20230331041154.GC12892@google.com \
--to=senozhatsky@chromium.org \
--cc=christophe.leroy@csgroup.eu \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-modules@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=mhocko@suse.com \
--cc=patches@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=petr.pavlu@suse.com \
--cc=pmladek@suse.com \
--cc=prarit@redhat.com \
--cc=rafael@kernel.org \
--cc=rppt@kernel.org \
--cc=song@kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
/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