All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
To: Stefan Majer <stefan.majer@gmail.com>
Cc: Mark Nelson <mark.nelson@inktank.com>, ceph-devel@vger.kernel.org
Subject: Re: poor OSD performance using kernel 3.4 => problem found
Date: Thu, 31 May 2012 09:10:53 +0200	[thread overview]
Message-ID: <4FC7197D.5010406@profihost.ag> (raw)
In-Reply-To: <CADdPHGutEwoDc=Kcrqcx2ZMO=dqhuoT5iLoP-WxqD+e5ZUmBRA@mail.gmail.com>

Hi Marc, Hi Stefan,

first thanks for all your help and time.

I found the commit which results in this problem and it is TCP related
but i'm still wondering if the expected behaviour of this commit is
expected?

The commit in question is:
git show c43b874d5d714f271b80d4c3f49e05d0cbf51ed2
commit c43b874d5d714f271b80d4c3f49e05d0cbf51ed2
Author: Jason Wang <jasowang@redhat.com>
Date:   Thu Feb 2 00:07:00 2012 +0000

    tcp: properly initialize tcp memory limits

    Commit 4acb4190 tries to fix the using uninitialized value
    introduced by commit 3dc43e3,  but it would make the
    per-socket memory limits too small.

    This patch fixes this and also remove the redundant codes
    introduced in 4acb4190.

    Signed-off-by: Jason Wang <jasowang@redhat.com>
    Acked-by: Glauber Costa <glommer@parallels.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 4cb9cd2..7a7724d 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -778,7 +778,6 @@ EXPORT_SYMBOL_GPL(net_ipv4_ctl_path);
 static __net_init int ipv4_sysctl_init_net(struct net *net)
 {
        struct ctl_table *table;
-       unsigned long limit;

        table = ipv4_net_table;
        if (!net_eq(net, &init_net)) {
@@ -815,11 +814,6 @@ static __net_init int ipv4_sysctl_init_net(struct
net *net)
        net->ipv4.sysctl_rt_cache_rebuild_count = 4;

        tcp_init_mem(net);
-       limit = nr_free_buffer_pages() / 8;
-       limit = max(limit, 128UL);
-       net->ipv4.sysctl_tcp_mem[0] = limit / 4 * 3;
-       net->ipv4.sysctl_tcp_mem[1] = limit;
-       net->ipv4.sysctl_tcp_mem[2] = net->ipv4.sysctl_tcp_mem[0] * 2;

        net->ipv4.ipv4_hdr = register_net_sysctl_table(net,
                        net_ipv4_ctl_path, table);
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index a34f5cf..37755cc 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -3229,7 +3229,6 @@ __setup("thash_entries=", set_thash_entries);

 void tcp_init_mem(struct net *net)
 {
-       /* Set per-socket limits to no more than 1/128 the pressure
threshold */
        unsigned long limit = nr_free_buffer_pages() / 8;
        limit = max(limit, 128UL);
        net->ipv4.sysctl_tcp_mem[0] = limit / 4 * 3;
@@ -3298,7 +3297,8 @@ void __init tcp_init(void)
        sysctl_max_syn_backlog = max(128, cnt / 256);

        tcp_init_mem(&init_net);
-       limit = nr_free_buffer_pages() / 8;
+       /* Set per-socket limits to no more than 1/128 the pressure
threshold */
+       limit = nr_free_buffer_pages() << (PAGE_SHIFT - 10);
        limit = max(limit, 128UL);
        max_share = min(4UL*1024*1024, limit);

Greets
Stefan

  parent reply	other threads:[~2012-05-31  7:10 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-24 14:10 poor OSD performance using kernel 3.4 Stefan Priebe - Profihost AG
2012-05-24 14:57 ` Mark Nelson
     [not found] ` <CAJCPpW+SKnnVUaDEAsCkKyZwMVrHCRJF2C8zqB4eORgwW5p=1Q@mail.gmail.com>
     [not found]   ` <4FBE7ABC.5020502@profihost.ag>
2012-05-24 18:53     ` Mark Nelson
2012-05-24 19:05       ` Stefan Priebe
2012-05-25  1:53         ` Mark Nelson
2012-05-25  8:19           ` Stefan Priebe - Profihost AG
2012-05-25 11:31             ` Stefan Priebe - Profihost AG
2012-05-25 12:10               ` Stefan Priebe - Profihost AG
2012-05-25 15:47                 ` Alexandre DERUMIER
2012-05-27  9:11                   ` Stefan Priebe - Profihost AG
2012-05-27 11:33                     ` Alexandre DERUMIER
2012-05-27 18:57                       ` Stefan Priebe
2012-05-28  5:37                         ` Alexandre DERUMIER
2012-05-28  6:25                           ` Stefan Priebe
2012-05-28  6:52                             ` Alexandre DERUMIER
2012-05-28 19:48                               ` Stefan Priebe
2012-05-29  3:54                                 ` Alexandre DERUMIER
2012-05-29  8:22                                   ` Stefan Priebe - Profihost AG
2012-05-29 13:01                                     ` Alexandre DERUMIER
2012-05-29 14:18                                       ` Stefan Priebe - Profihost AG
2012-05-29  9:46                                   ` Stefan Priebe - Profihost AG
2012-05-29 13:39                                     ` Yann Dupont
2012-05-29 14:43                                       ` Stefan Priebe - Profihost AG
2012-05-29 17:50                                         ` Mark Nelson
2012-05-29 19:50                                           ` Yann Dupont
2012-05-29 21:04                                           ` Stefan Priebe
2012-05-29 21:08                                           ` Stefan Priebe
2012-05-29 21:31                                             ` Yann Dupont
2012-05-29 21:34                                               ` Stefan Priebe
2012-05-29 21:45                                                 ` Yann Dupont
2012-05-30  6:29                                                   ` Stefan Priebe - Profihost AG
2012-05-29 21:41                                             ` Mark Nelson
2012-05-30  6:22                                               ` Stefan Priebe - Profihost AG
2012-05-30  7:20                                                 ` building test cluster : missing /etc/ceph/client.admin.keyring, need help Alexandre DERUMIER
2012-05-30  7:25                                                   ` Stefan Priebe - Profihost AG
2012-05-30  7:33                                                     ` Alexandre DERUMIER
2012-05-30  7:47                                                       ` Alexandre DERUMIER
2012-05-29 22:25 ` poor OSD performance using kernel 3.4 Mark Nelson
2012-05-30  6:33   ` Stefan Priebe - Profihost AG
     [not found]     ` <CADdPHGs9dpSh9Oyu+5yDhyYU=Et_-zF5MuYybBuuAN5DgR433A@mail.gmail.com>
2012-05-30  7:16       ` Stefan Priebe - Profihost AG
     [not found]         ` <CADdPHGuiJqZUCK-0qR_CrOo6GRhkjaCdkOhJ2boq3zD0_voTsA@mail.gmail.com>
2012-05-30 11:04           ` Stefan Priebe - Profihost AG
     [not found]             ` <CADdPHGuLAL5+hkzq0tigqu355DvPxkhE5sxBhOVZPj=EzDSVtA@mail.gmail.com>
2012-05-30 11:25               ` Stefan Priebe - Profihost AG
2012-05-30 12:17             ` Mark Nelson
2012-05-30 12:41               ` Stefan Priebe - Profihost AG
     [not found]                 ` <CADdPHGsmr8Ht1pTWH1Oe8=NmAyM81SSdH+c_GV89D8ntfyUmgA@mail.gmail.com>
2012-05-30 13:19                   ` Stefan Priebe - Profihost AG
     [not found]                     ` <CADdPHGvxCmuViy+0==Vkdz_QjC1K+kD5kD1m7+0tYM2YDTtJbw@mail.gmail.com>
2012-05-30 13:54                       ` Stefan Priebe - Profihost AG
     [not found]                       ` <4FC63381.6090300@inktank.com>
2012-05-30 14:53                         ` Stefan Priebe
2012-05-30 14:56                           ` Mark Nelson
2012-05-30 18:26                             ` Stefan Priebe
2012-05-30 19:41                               ` Mark Nelson
2012-05-30 13:27                 ` Mark Nelson
2012-05-30 13:51                   ` Stefan Priebe - Profihost AG
2012-05-30 14:16                 ` Mark Nelson
2012-05-30 18:42                   ` Stefan Priebe
     [not found]                     ` <CADdPHGuxa7TAyqXcXehb9WgKgkHwkybYTrj2oue_PKsiF+oR3A@mail.gmail.com>
2012-05-30 21:10                       ` Stefan Priebe
     [not found]                         ` <CADdPHGutEwoDc=Kcrqcx2ZMO=dqhuoT5iLoP-WxqD+e5ZUmBRA@mail.gmail.com>
2012-05-31  7:10                           ` Stefan Priebe - Profihost AG [this message]
2012-05-31  7:30                             ` poor OSD performance using kernel 3.4 => problem found Yehuda Sadeh
     [not found]                               ` <CADdPHGtz9Jq624DMO6Dve2AcJ9vrnFHbyqRa+qheA+0-y4k++g@mail.gmail.com>
2012-05-31 12:31                                 ` Mark Nelson
2012-05-31 12:33                                   ` Stefan Priebe - Profihost AG
2012-05-31 13:21                               ` Yann Dupont
2012-05-31 13:37                                 ` Stefan Priebe - Profihost AG
2012-05-31 13:45                                   ` Yann Dupont
2012-05-31 14:42                                     ` Yann Dupont
2012-05-31 15:32                                       ` Mark Nelson
2012-05-31 15:43                                         ` Yann Dupont
2012-05-31 16:14                                           ` Mark Nelson
2012-05-31 16:29                                           ` Sage Weil
2012-05-31 16:37                                             ` Yann Dupont
     [not found]                             ` <CADdPHGv0YjxDQFnZML-55jDj7XxHxaxUZ_FeQ=ReKK6Rs7NNhw@mail.gmail.com>
2012-05-31  8:04                               ` Stefan Priebe - Profihost AG
2012-05-31  8:09                                 ` Stefan Majer
2012-05-31 11:34                                   ` Stefan Priebe - Profihost AG
2012-05-31 12:18                                   ` Stefan Priebe - Profihost AG
2012-05-30 11:51     ` poor OSD performance using kernel 3.4 Mark Nelson

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=4FC7197D.5010406@profihost.ag \
    --to=s.priebe@profihost.ag \
    --cc=ceph-devel@vger.kernel.org \
    --cc=mark.nelson@inktank.com \
    --cc=stefan.majer@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.