From mboxrd@z Thu Jan 1 00:00:00 1970 From: Edward Shishkin Subject: Re: [reiser4] Point Date: Tue, 12 Aug 2008 22:58:40 +0400 Message-ID: <48A1DD60.7080906@gmail.com> References: <558.1643-13003-1386678025-1217242012@post.cz> <488DD846.70002@gmail.com> <48971680.2010906@gmail.com> <4897333E.3030600@gmail.com> <489B44FD.5000108@gmail.com> <489CB0F0.8020806@gmail.com> <48f7fe350808090803g56ee1a88r18f408153b1702eb@mail.gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <48f7fe350808090803g56ee1a88r18f408153b1702eb@mail.gmail.com> Sender: reiserfs-devel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Ryan Hope Cc: reiserfs-devel@vger.kernel.org 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 > 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@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >>> >> > >