projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WorkStruct: make allyesconfig
[deliverable/linux.git]
/
kernel
/
relay.c
diff --git
a/kernel/relay.c
b/kernel/relay.c
index f04bbdb56ac2a9123003b45d909f9ef6e971fd5e..2b92e8ece85be3074c2cb63f2588a1f311b95ae7 100644
(file)
--- a/
kernel/relay.c
+++ b/
kernel/relay.c
@@
-308,9
+308,10
@@
static struct rchan_callbacks default_channel_callbacks = {
* reason waking is deferred is that calling directly from write
* causes problems if you're writing from say the scheduler.
*/
* reason waking is deferred is that calling directly from write
* causes problems if you're writing from say the scheduler.
*/
-static void wakeup_readers(
void *private
)
+static void wakeup_readers(
struct work_struct *work
)
{
{
- struct rchan_buf *buf = private;
+ struct rchan_buf *buf =
+ container_of(work, struct rchan_buf, wake_readers.work);
wake_up_interruptible(&buf->read_wait);
}
wake_up_interruptible(&buf->read_wait);
}
@@
-328,7
+329,7
@@
static inline void __relay_reset(struct rchan_buf *buf, unsigned int init)
if (init) {
init_waitqueue_head(&buf->read_wait);
kref_init(&buf->kref);
if (init) {
init_waitqueue_head(&buf->read_wait);
kref_init(&buf->kref);
- INIT_
WORK(&buf->wake_readers, NULL
, NULL);
+ INIT_
DELAYED_WORK(&buf->wake_readers
, NULL);
} else {
cancel_delayed_work(&buf->wake_readers);
flush_scheduled_work();
} else {
cancel_delayed_work(&buf->wake_readers);
flush_scheduled_work();
@@
-549,7
+550,8
@@
size_t relay_switch_subbuf(struct rchan_buf *buf, size_t length)
buf->padding[old_subbuf];
smp_mb();
if (waitqueue_active(&buf->read_wait)) {
buf->padding[old_subbuf];
smp_mb();
if (waitqueue_active(&buf->read_wait)) {
- PREPARE_WORK(&buf->wake_readers, wakeup_readers, buf);
+ PREPARE_DELAYED_WORK(&buf->wake_readers,
+ wakeup_readers);
schedule_delayed_work(&buf->wake_readers, 1);
}
}
schedule_delayed_work(&buf->wake_readers, 1);
}
}
This page took
0.025157 seconds
and
5
git commands to generate.