Ryan Hope wrote: > This works because the struct "ent" is of type "entd_context" This logic train goes to a wrong direction ;) > which > has members "wait_queue_head_t wait" and "struct task_struct *tsk". > The function wake_up() takes the parameter wait_queue_head_t the > function wake_up_process() takes task_struct... I figured this would > be a legit switch. I have seen no adverse affects yet. > Did you stress test it? Thanks, Edward. > -Ryan > > On Fri, Aug 8, 2008 at 4:47 PM, Edward Shishkin > <edward.shishkin@xxxxxxxxx> wrote: > >> Ryan Hope wrote: >> >>> Is this todo really done? >>> >> nop >> >> >>>>> As in point 6. in todo list (pub.namesys.com/Reiser4/ToDo ) try to >>>>> replace wake_up() with wake_up_process() >>>>> >>> There are still a few more wake_up()'s in the code, the following >>> patch takes care of 2 of them. >>> >> both are not obvious for me, review is needed.. >> >> Edward. >> >> >>> diff --git a/fs/reiser4/entd.c b/fs/reiser4/entd.c >>> index a164f5a..355548d 100644 >>> --- a/fs/reiser4/entd.c >>> +++ b/fs/reiser4/entd.c >>> @@ -218,7 +218,7 @@ void reiser4_leave_flush(struct super_block *super) >>> #endif >>> spin_unlock(&ent->guard); >>> if (wake_up_ent) >>> - wake_up(&ent->wait); >>> + wake_up_process(ent->tsk); >>> } >>> >>> #define ENTD_CAPTURE_APAGE_BURST SWAP_CLUSTER_MAX >>> @@ -304,7 +304,7 @@ int write_page_by_ent(struct page *page, struct >>> writeback_control *wbc) >>> ent->nr_todo_reqs++; >>> list_add_tail(&rq.link, &ent->todo_list); >>> if (ent->nr_todo_reqs == 1) >>> - wake_up(&ent->wait); >>> + wake_up_process(ent->tsk); >>> >>> spin_unlock(&ent->guard); >>> >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe >>> reiserfs-devel" in >>> the body of a message to majordomo@xxxxxxxxxxxxxxx >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >>> >> > > -- To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html