Re: [PATCH v2] locking/rwbase: Prevent indefinite writer starvation
From: Mel Gorman
Date: Fri Jan 20 2023 - 09:07:26 EST
On Fri, Jan 20, 2023 at 02:38:27PM +0100, Sebastian Andrzej Siewior wrote:
> On 2023-01-20 13:24:41 [+0000], Mel Gorman wrote:
> > --- a/kernel/locking/rwbase_rt.c
> > +++ b/kernel/locking/rwbase_rt.c
> > @@ -264,12 +291,17 @@ static int __sched rwbase_write_lock(struct rwbase_rt *rwb,
> > if (__rwbase_write_trylock(rwb))
> > break;
> >
> > + /* Record timeout when reader bias is ignored. */
> > + rwb->waiter_timeout = jiffies + RWBASE_RT_WAIT_TIMEOUT;
> rwb->waiter_timeout = (jiffies + RWBASE_RT_WAIT_TIMEOUT) | 1;
>
> There is the unlikely case that (jiffies + RWBASE_RT_WAIT_TIMEOUT) = 0
> on 32bit where it is not jiffies64.
>
> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>
Thanks very much, updated version will be posted shortly.
--
Mel Gorman
SUSE Labs