server: use new smp waiting

This commit is contained in:
Thomas Schoebel-Theuer 2022-08-23 16:28:58 +02:00
parent 29307ceb1c
commit 301b9f215a

View File

@ -32,6 +32,8 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/string.h> #include <linux/string.h>
#include "brick_wait.h"
#define _STRATEGY #define _STRATEGY
#include "mars.h" #include "mars.h"
#include "mars_bio.h" #include "mars_bio.h"
@ -109,7 +111,7 @@ int cb_thread(void *data)
goto done; goto done;
brick->cb_running = true; brick->cb_running = true;
wake_up_interruptible(&brick->startup_event); brick_wake_smp(&brick->startup_event);
while (!brick_thread_should_stop() || while (!brick_thread_should_stop() ||
atomic_read(&brick->in_flight) > 0) { atomic_read(&brick->in_flight) > 0) {
@ -121,7 +123,7 @@ int cb_thread(void *data)
bool cork; bool cork;
wait_event_interruptible_timeout( brick_wait_smp(
brick->cb_event, brick->cb_event,
atomic_read(&brick->in_flight) > 0, atomic_read(&brick->in_flight) > 0,
wait_jiffies); wait_jiffies);
@ -216,7 +218,7 @@ int cb_thread(void *data)
done: done:
MARS_DBG("---------- cb_thread terminating, status = %d\n", status); MARS_DBG("---------- cb_thread terminating, status = %d\n", status);
wake_up_interruptible(&brick->startup_event); brick_wake_smp(&brick->startup_event);
return status; return status;
} }
@ -250,7 +252,7 @@ void server_endio(struct generic_callback *cb)
} }
mutex_unlock(&brick->cb_mutex); mutex_unlock(&brick->cb_mutex);
wake_up_interruptible(&brick->cb_event); brick_wake_smp(&brick->cb_event);
return; return;
err: err:
MARS_FAT("cannot handle callback - giving up\n"); MARS_FAT("cannot handle callback - giving up\n");
@ -431,7 +433,7 @@ int handler_thread(void *data)
brick->cb_thread = thread; brick->cb_thread = thread;
brick->handler_running = true; brick->handler_running = true;
wake_up_interruptible(&brick->startup_event); brick_wake_smp(&brick->startup_event);
while (!list_empty(&handler_global->brick_anchor) || while (!list_empty(&handler_global->brick_anchor) ||
mars_socket_is_alive(sock)) { mars_socket_is_alive(sock)) {