From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: poll: allow f_op->poll to sleep, take #3 Date: Sun, 23 Nov 2008 12:05:53 +0900 Message-ID: <4928C891.80405@gmail.com> References: <20081122123942.GF5707@parisc-linux.org> <4927FE87.6050005@gmail.com> <20081122105356.87856d04.akpm@linux-foundation.org> <4928B162.9030404@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Andrew Morton , Matthew Wilcox , Miklos Szeredi , arjan@linux.intel.com, Linus Torvalds , hch@infradead.org, Ingo Molnar , rminnich@sandia.gov, ericvh@gmail.com, Linux Kernel Mailing List , linux-fsdevel@vger.kernel.org To: Davide Libenzi Return-path: Received: from ti-out-0910.google.com ([209.85.142.184]:18220 "EHLO ti-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755360AbYKWDFf (ORCPT ); Sat, 22 Nov 2008 22:05:35 -0500 Received: by ti-out-0910.google.com with SMTP id b6so941754tic.23 for ; Sat, 22 Nov 2008 19:05:33 -0800 (PST) In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Davide Libenzi wrote: > On Sun, 23 Nov 2008, Tejun Heo wrote: > >> +static int pollwake(wait_queue_t *wait, unsigned mode, int sync, void *key) >> +{ >> + struct poll_wqueues *pwq = wait->private; >> + DECLARE_WAITQUEUE(dummy_wait, pwq->polling_task); >> + >> + set_mb(pwq->triggered, 1); >> + >> + /* perform the default wake up operation */ >> + return default_wake_function(&dummy_wait, mode, sync, key); >> +} > > Wouldn't it be nicer to un-static try_to_wake_up() (or a wrapper) instead > of setting up a fake wait queue just to use default_wake_function(), just > to wake up a task? I thought try_to_wake_up() was made static to avoid abuse but then again creating dummy waitqueue is an obvious abuse of waitqueue. What do other people think? I'll be happy to use try_to_wake_up() directly. Thanks. -- tejun