From: Zlatko Calusic <zlatko.calusic@iskon.hr>
To: Tejun Heo <tj@kernel.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: High context switch rate, ksoftirqd's chewing cpu
Date: Sat, 01 Dec 2012 12:06:41 +0100 [thread overview]
Message-ID: <50B9E4C1.2050002@iskon.hr> (raw)
In-Reply-To: <20121130225545.GC6021@htj.dyndns.org>
On 30.11.2012 23:55, Tejun Heo wrote:
> Hello, again.
>
> Can you please try this patch? Thanks!
>
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 042d221..26368ef 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -1477,7 +1477,10 @@ bool mod_delayed_work_on(int cpu, struct workqueue_struct *wq,
> } while (unlikely(ret == -EAGAIN));
>
> if (likely(ret >= 0)) {
> - __queue_delayed_work(cpu, wq, dwork, delay);
> + if (!delay)
> + __queue_work(cpu, wq, &dwork->work);
> + else
> + __queue_delayed_work(cpu, wq, dwork, delay);
> local_irq_restore(flags);
> }
>
>
I have good news. The patch fixes the regression!
To doublecheck and provide you additional data, I updated to the latest Linus
kernel (commit 7c17e48), recompiled (WITHOUT the patch), rebooted and this is
what vmstat 1 looks like:
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 2957924 43676 655840 0 0 868 460 1446 38112 1 1 75 23
0 0 0 2957436 43684 655672 0 0 8 1290 941 30743 1 2 96 1
0 0 0 2957416 43708 656120 0 0 300 501 755 23642 1 2 89 9
1 0 0 2957648 43740 656592 0 0 632 162 946 19837 1 3 81 17
0 0 0 2950104 43740 664660 0 0 8192 0 550 326 1 1 91 8
0 0 0 2950600 43772 664092 0 0 148 289 691 39594 0 1 90 9
0 0 0 2939580 43924 674612 0 0 5568 115 2424 38662 5 4 77 15
0 1 0 2944888 43932 669580 0 0 56 869 1095 20062 6 1 89 4
0 0 0 2945812 43936 670524 0 0 824 92 824 49790 0 2 93 5
1 0 0 2945724 44084 670656 0 0 348 91 650 26455 1 1 89 10
0 2 0 2945356 44380 670848 0 0 536 161 718 18824 1 2 76 22
0 0 0 2944432 44400 671216 0 0 156 534 684 16232 2 1 81 17
0 0 0 2943660 44412 671544 0 0 292 120 562 49618 1 3 87 10
0 0 0 2943740 44412 671520 0 0 0 9 393 7247 0 0 100 0
0 0 0 2943608 44420 671812 0 0 276 42 507 36329 1 1 96 3
0 0 0 2943704 44420 671996 0 0 176 0 405 269 0 0 100 0
0 0 0 2943548 44428 671964 0 0 0 238 534 14823 0 1 99 0
0 0 0 2943136 44444 672156 0 0 212 692 698 29321 1 2 86 11
Then I applied the patch and this is how vmstat 1 looks now (WITH the patch):
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 2736628 35160 897708 0 0 8 293 1172 2493 17 3 79 1
0 0 0 2737336 35172 897944 0 0 156 43 883 971 3 0 95 3
0 0 0 2736500 35212 898252 0 0 292 5564 1267 2168 14 2 79 5
0 0 0 2736056 35356 898864 0 0 596 51 1029 1344 2 3 90 6
0 0 0 2735732 35504 899284 0 0 516 82 1225 1495 2 2 85 11
0 1 0 2734052 35508 900324 0 0 512 91 1149 1225 2 2 93 4
0 0 0 2733980 35508 899820 0 0 0 17 918 1164 2 1 96 1
0 2 0 2733988 35812 899940 0 0 656 1764 1097 1549 3 2 79 17
0 0 0 2733792 35820 900348 0 0 40 76 1303 1299 2 3 83 13
0 0 0 2733888 35820 900344 0 0 0 17 914 1085 2 1 97 0
0 0 0 2733316 35952 900364 0 0 144 235 1062 1316 1 2 95 3
0 0 0 2733012 36092 900412 0 0 176 11 1112 1469 3 1 92 4
0 0 0 2732732 36236 900444 0 0 160 709 932 1022 2 1 93 5
1 0 0 2732128 36384 900400 0 0 156 8987 1491 2519 12 3 82 3
0 0 0 2732128 36384 900416 0 0 0 34 927 1376 5 2 93 0
0 0 0 2732044 36540 900788 0 0 444 82 963 1278 3 1 87 8
1 0 0 2732020 36680 900796 0 0 168 2 883 1041 1 2 94 2
0 0 0 2731228 36700 901456 0 0 324 196 882 1125 2 0 94 4
Observe the difference in the cs column!
I hope this gets in before 3.7.0. Good work Tejun!
Best regards,
--
Zlatko
next prev parent reply other threads:[~2012-12-01 11:06 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-17 13:01 High context switch rate, ksoftirqd's chewing cpu Zlatko Calusic
2012-11-30 22:52 ` Tejun Heo
2012-11-30 22:55 ` Tejun Heo
2012-12-01 11:06 ` Zlatko Calusic [this message]
2012-12-01 14:38 ` Tejun Heo
2012-12-01 17:11 ` Zlatko Calusic
2012-12-01 19:13 ` Tejun Heo
2012-12-01 22:11 ` Zlatko Calusic
2012-11-30 23:11 ` Zlatko Calusic
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=50B9E4C1.2050002@iskon.hr \
--to=zlatko.calusic@iskon.hr \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@kernel.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 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.