From: Peter Zijlstra <peterz@infradead•org>
To: David Laight <David.Laight@ACULAB•COM>
Cc: Geert Uytterhoeven <geert@linux-m68k•org>,
Oleg Nesterov <oleg@redhat•com>, Ingo Molnar <mingo@kernel•org>,
netdev@vger•kernel.org, linux-kernel@vger•kernel.org
Subject: Re: [PATCH] ipvs: Remove unused variable ret from sync_thread_master()
Date: Tue, 12 Nov 2013 15:31:52 +0100 [thread overview]
Message-ID: <20131112143152.GS5056@laptop.programming.kicks-ass.net> (raw)
In-Reply-To: <AE90C24D6B3A694183C094C60CF0A2F6026B7405@saturn3.aculab.com>
On Tue, Nov 12, 2013 at 02:21:39PM -0000, David Laight wrote:
> > > @@ -1637,7 +1637,7 @@ static int sync_thread_master(void *data)
> > > continue;
> > > }
> > > while (ip_vs_send_sync_msg(tinfo->sock, sb->mesg) < 0) {
> > > - int ret = __wait_event_interruptible(*sk_sleep(sk),
> >
> > So ideally there's be a comment here why we're using interruptible but
> > then ignore interruptions.
> >
> > Julian said (
> > http://lkml.kernel.org/r/alpine.LFD.2.00.1310012245020.1782@ja.ssi.bg ):
> >
> > " Yes, your patch looks ok to me. In the past
> > we used ssleep() but IPVS users were confused why
> > IPVS threads increase the load average. So, we
> > switched to _interruptible calls and later the socket
> > polling was added. "
>
> I've done this in the past so that the code sleeps interruptibly
> unless there is a signal pending - which would cause it to return
> early.
>
> /* Tell scheduler we are going to sleep... */
> if (signal_pending(current))
> /* We don't want waking immediately (again) */
> sleep_state = TASK_UNINTERRUPTIBLE;
> else
> sleep_state = TASK_INTERRUPTIBLE;
> set_current_state(sleep_state);
If this is for kernel threads, I think you can wipe the pending state;
not entirely sure how signals interact with kthreads; Oleg will know.
next prev parent reply other threads:[~2013-11-12 14:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-12 13:53 [PATCH] ipvs: Remove unused variable ret from sync_thread_master() Geert Uytterhoeven
2013-11-12 14:13 ` Peter Zijlstra
2013-11-12 14:21 ` David Laight
2013-11-12 14:31 ` Peter Zijlstra [this message]
2013-11-12 14:38 ` David Laight
2013-11-12 16:26 ` Oleg Nesterov
2013-11-12 14:52 ` Peter Zijlstra
2013-11-12 16:21 ` Oleg Nesterov
2013-11-12 16:56 ` oom-kill && frozen() Oleg Nesterov
2013-11-13 3:20 ` Tejun Heo
2013-11-13 17:07 ` Oleg Nesterov
2013-11-13 17:42 ` Peter Zijlstra
2013-11-13 18:15 ` Oleg Nesterov
2013-11-13 19:11 ` __refrigerator() && saved task->state Oleg Nesterov
2013-11-13 19:14 ` Peter Zijlstra
2013-11-13 19:40 ` Oleg Nesterov
2013-11-12 17:00 ` [PATCH] ipvs: Remove unused variable ret from sync_thread_master() Peter Zijlstra
2013-11-12 18:04 ` Oleg Nesterov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20131112143152.GS5056@laptop.programming.kicks-ass.net \
--to=peterz@infradead$(echo .)org \
--cc=David.Laight@ACULAB$(echo .)COM \
--cc=geert@linux-m68k$(echo .)org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=mingo@kernel$(echo .)org \
--cc=netdev@vger$(echo .)kernel.org \
--cc=oleg@redhat$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox