Messages in this thread | | | Date | Wed, 22 Mar 2023 09:28:48 +0000 | From | Mel Gorman <> | Subject | Re: [PATCH v6] locking/rwbase: Mitigate indefinite writer starvation. |
| |
On Tue, Mar 21, 2023 at 05:11:40PM +0100, Sebastian Andrzej Siewior wrote: > The rw_semaphore and rwlock_t locks are unfair to writers. Readers can > indefinitely acquire the lock unless the writer fully acquired the lock. > This can never happen if there is always a reader in the critical > section owning the lock. > > Mel Gorman reported that since LTP-20220121 the dio_truncate test case > went from having 1 reader to having 16 reader and the number of readers > is sufficient to prevent the down_write ever succeeding while readers > exist. Eventually the test is killed after 30 minutes as a failure. > > Mel proposed a timeout to limit how long a writer can be blocked until > the reader is forced into the slowpath. > Thomas argued that there is no added value by providing this timeout. > From PREEMPT_RT point of view, there are no critical rw_semaphore or > rwlock_t locks left where the reader must be prefer. >
s/prefer/preferred/
> Mitigate indefinite writer starvation by forcing the READER into the > slowpath once the WRITER attempts to acquire the lock. > > Reported-by: Mel Gorman <mgorman@techsingularity.net> > Link: https://lore.kernel.org/877cwbq4cq.ffs@tglx > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Thanks Sebastian and Thomas!
-- Mel Gorman SUSE Labs
| |