From: Ingo Molnar <mingo@kernel.org>
To: Simon Horman <horms@verge.net.au>
Cc: Eric Dumazet <eric.dumazet@gmail.com>,
Julian Anastasov <ja@ssi.bg>, Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
lvs-devel@vger.kernel.org, netdev@vger.kernel.org,
netfilter-devel@vger.kernel.org, linux-kernel@vger.kernel.org,
Pablo Neira Ayuso <pablo@netfilter.org>,
Dipankar Sarma <dipankar@in.ibm.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [PATCH 2/2] ipvs: Use cond_resched_rcu_lock() helper when dumping connections
Date: Fri, 26 Apr 2013 08:15:34 +0200 [thread overview]
Message-ID: <20130426061534.GB25912@gmail.com> (raw)
In-Reply-To: <1366940708-10180-3-git-send-email-horms@verge.net.au>
* Simon Horman <horms@verge.net.au> wrote:
> This avoids the situation where a dump of a large number of connections
> may prevent scheduling for a long time while also avoiding excessive
> calls to rcu_read_unlock() and rcu_read_lock().
>
> Cc: Eric Dumazet <eric.dumazet@gmail.com>
> Cc: Julian Anastasov <ja@ssi.bg>
> Signed-off-by: Simon Horman <horms@verge.net.au>
> ---
> net/netfilter/ipvs/ip_vs_conn.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c
> index a083bda..42a7b33 100644
> --- a/net/netfilter/ipvs/ip_vs_conn.c
> +++ b/net/netfilter/ipvs/ip_vs_conn.c
> @@ -975,8 +975,7 @@ static void *ip_vs_conn_array(struct seq_file *seq, loff_t pos)
> return cp;
> }
> }
> - rcu_read_unlock();
> - rcu_read_lock();
> + cond_resched_rcu_lock();
> }
>
> return NULL;
> @@ -1015,8 +1014,7 @@ static void *ip_vs_conn_seq_next(struct seq_file *seq, void *v, loff_t *pos)
> iter->l = &ip_vs_conn_tab[idx];
> return cp;
> }
> - rcu_read_unlock();
> - rcu_read_lock();
> + cond_resched_rcu_lock();
Feel free to route this via the networking tree.
Note that this change isn't a pure clean-up but has functional effects as
well: on !PREEMPT or PREEMPT_VOLUNTARY kernels it will add in a potential
cond_resched() - while previously it would only rcu unlock and relock
(which in itself isn't scheduling).
This should probably be pointed out in the changelog.
Thanks,
Ingo
next prev parent reply other threads:[~2013-04-26 6:15 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-26 1:45 [PATCH 0/2] sched: Add cond_resched_rcu_lock() helper Simon Horman
2013-04-26 1:45 ` [PATCH 1/2] " Simon Horman
2013-04-26 6:13 ` Ingo Molnar
2013-04-26 1:45 ` [PATCH 2/2] ipvs: Use cond_resched_rcu_lock() helper when dumping connections Simon Horman
2013-04-26 6:15 ` Ingo Molnar [this message]
2013-04-30 2:45 ` Simon Horman
2013-04-26 8:03 ` Peter Zijlstra
2013-04-26 15:45 ` Paul E. McKenney
2013-04-26 15:59 ` Eric Dumazet
2013-04-26 16:30 ` Paul E. McKenney
2013-04-26 17:19 ` Peter Zijlstra
2013-04-26 17:48 ` Paul E. McKenney
2013-04-26 18:26 ` Eric Dumazet
2013-04-26 19:04 ` Paul E. McKenney
2013-04-27 7:18 ` Peter Zijlstra
2013-04-27 16:17 ` Paul E. McKenney
2013-04-27 11:32 ` Julian Anastasov
2013-04-27 16:20 ` Paul E. McKenney
2013-04-29 21:08 ` Julian Anastasov
2013-04-29 21:30 ` Paul E. McKenney
2013-04-29 23:12 ` Julian Anastasov
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=20130426061534.GB25912@gmail.com \
--to=mingo@kernel.org \
--cc=dipankar@in.ibm.com \
--cc=eric.dumazet@gmail.com \
--cc=horms@verge.net.au \
--cc=ja@ssi.bg \
--cc=linux-kernel@vger.kernel.org \
--cc=lvs-devel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).