Messages in this thread | | | From | Arnd Bergmann <> | Date | Sun, 16 Dec 2018 20:50:09 +0100 | Subject | Re: [PATCH] test_rhashtable: remove semaphore usage |
| |
On Fri, Dec 14, 2018 at 10:25 PM David Miller <davem@davemloft.net> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > Date: Mon, 10 Dec 2018 22:17:20 +0100 > > > @@ -635,8 +636,9 @@ static int threadfunc(void *data) > > int i, step, err = 0, insert_retries = 0; > > struct thread_data *tdata = data; > > > > - up(&prestart_sem); > > - if (down_interruptible(&startup_sem)) > > + if (atomic_dec_and_test(&startup_count)) > > + wake_up(&startup_wait); > > + if (wait_event_interruptible(startup_wait, atomic_read(&startup_count) == -1)) > > pr_err(" thread[%d]: down_interruptible failed\n", tdata->id); > > Arnd, please adjust this pr_err() text to match the new code as pointed out by > Phil Sutter.
Done, and resent as v2. I also noticed that the version I sent did not apply cleanly on current kernels, so I fixed that, and also added a 'goto out' in the kthread after printing the error message, so an interrupted thread would exist straight away.
Arnd
| |