lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 13 Nov 2013 17:14:08 +0800
From:	Yuanhan Liu <yuanhan.liu@...ux.intel.com>
To:	John Stultz <john.stultz@...aro.org>
Cc:	Fengguang Wu <fengguang.wu@...el.com>,
	Huang Ying <ying.huang@...el.com>, linux-kernel@...r.kernel.org
Subject: performance regressions by "seqcount: Add lockdep functionality to
 seqcount/seqlock structures"

Hi,

FYI, we found some performance regressions caused by commit 1ca7d67c
("seqcount: Add lockdep functionality to seqcount/seqlock structures")

---
1ca7d67cf5d5a2aef26a8d9afd789006fa098347 is the first bad commit
commit 1ca7d67cf5d5a2aef26a8d9afd789006fa098347
Author: John Stultz <john.stultz@...aro.org>
Date:   Mon Oct 7 15:51:59 2013 -0700

    seqcount: Add lockdep functionality to seqcount/seqlock structures
    
    Currently seqlocks and seqcounts don't support lockdep.
    
    After running across a seqcount related deadlock in the timekeeping
    code, I used a less-refined and more focused variant of this patch
    to narrow down the cause of the issue.
    
    This is a first-pass attempt to properly enable lockdep functionality
    on seqlocks and seqcounts.
    
    Since seqcounts are used in the vdso gettimeofday code, I've provided
    non-lockdep accessors for those needs.
    
    I've also handled one case where there were nested seqlock writers
    and there may be more edge cases.
    
    Comments and feedback would be appreciated!
    
    Signed-off-by: John Stultz <john.stultz@...aro.org>
    Signed-off-by: Peter Zijlstra <peterz@...radead.org>
    Cc: Eric Dumazet <eric.dumazet@...il.com>
    Cc: Li Zefan <lizefan@...wei.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
    Cc: Steven Rostedt <rostedt@...dmis.org>
    Cc: "David S. Miller" <davem@...emloft.net>
    Cc: netdev@...r.kernel.org
    Link: http://lkml.kernel.org/r/1381186321-4906-3-git-send-email-john.stultz@linaro.org
    Signed-off-by: Ingo Molnar <mingo@...nel.org>

:040000 040000 cfee9d56dac9192e1ff45a0bb1dfb953c87798a8 c99b3921b61be2bac7de96bdc68fa4a3ecbe7ded M	arch
:040000 040000 9ded4e8cc971a768488ab0041962c1f2edc15927 9fb40a547f803cd36ccadb8f2c03311cbee021b5 M	fs
:040000 040000 715572039d89ec3c5a61ee96e2b8058291b39d0a 682f4023369ce622b66ffb6a7a3e0d7b478a6c51 M	include
:040000 040000 fddfb5e3c86bb930bdb979185b059904a469b919 8dd70520aebac4f7abaeaf40a8dfedbbee0029aa M	mm
bisect run success

# bad: [b132a89a2bd3020081e2b9af82af88f2ce7e8065] Merge 'clk/clk-next' into devel-hourly-2013111208
# good: [5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52] Linux 3.12
git bisect start 'b132a89a2bd3020081e2b9af82af88f2ce7e8065' '5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52' '--'
# good: [3eb5b6a57cdd494e8e39d8faef0b4f63b8c51e1c] Merge branch 'next/dt' into HEAD
git bisect good 3eb5b6a57cdd494e8e39d8faef0b4f63b8c51e1c
# bad: [18b43ee507b9383e1dd1b4af9243346aaa3dd488] Merge 'tip/sched/core' into devel-hourly-2013111208
git bisect bad 18b43ee507b9383e1dd1b4af9243346aaa3dd488
# good: [ac51bb09837098c422a8825bc155ccd736b9632d] drm/nouveau/core: Allow asymmetric nouveau_event_get/_put
git bisect good ac51bb09837098c422a8825bc155ccd736b9632d
# good: [18e30be0b99a9545bc18d131398c45b74ab992d4] Merge remote-tracking branch 'drm-upstream/drm-next' into drm-intel-nightly
git bisect good 18e30be0b99a9545bc18d131398c45b74ab992d4
# good: [e5137b50a0640009fd63a3e65c14bc6e1be8796a] ftrace, sched: Add TRACE_FLAG_PREEMPT_RESCHED
git bisect good e5137b50a0640009fd63a3e65c14bc6e1be8796a
# good: [e78709cd691cd62ce04c9d22f9df1de4c3fd1595] Merge 'shawnguo/staging-3.13' into devel-hourly-2013111208
git bisect good e78709cd691cd62ce04c9d22f9df1de4c3fd1595
# good: [ecf1f014325ba60f4df35edae1a357c67c5d4eb1] Merge branch 'core/rcu' into core/locking, to prepare the kernel/locking/ file move
git bisect good ecf1f014325ba60f4df35edae1a357c67c5d4eb1
# good: [3378b7f40d79930f0f447a164c7e8fcbe4480e40] nfsd4: fix discarded security labels on setattr
git bisect good 3378b7f40d79930f0f447a164c7e8fcbe4480e40
# good: [32cf7c3c94623514eb882addae307212c1507239] locking: Move the percpu-rwsem code to kernel/locking/
git bisect good 32cf7c3c94623514eb882addae307212c1507239
# bad: [67a6de49bf545c34eb8dee99abbb92d9ea268200] locking/doc: Update references to kernel/mutex.c
git bisect bad 67a6de49bf545c34eb8dee99abbb92d9ea268200
# bad: [1ca7d67cf5d5a2aef26a8d9afd789006fa098347] seqcount: Add lockdep functionality to seqcount/seqlock structures
git bisect bad 1ca7d67cf5d5a2aef26a8d9afd789006fa098347
# good: [827da44c61419f29ae3be198c342e2147f1a10cb] net: Explicitly initialize u64_stats_sync structures for lockdep
git bisect good 827da44c61419f29ae3be198c342e2147f1a10cb
# first bad commit: [1ca7d67cf5d5a2aef26a8d9afd789006fa098347] seqcount: Add lockdep functionality to seqcount/seqlock structures



Here is a performance regression list we got so far:

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
              6156637.80       -27.9%   4439431.60  lkp-sbx04/micro/will-it-scale/pread1
              6156637.80       -27.9%   4439431.60  TOTAL will-it-scale.pread1.8.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             13396131.20       -25.8%   9937484.80  lkp-sbx04/micro/will-it-scale/pread2
             13396131.20       -25.8%   9937484.80  TOTAL will-it-scale.pread2.16.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             26792262.40       -25.8%  19874969.60  lkp-sbx04/micro/will-it-scale/pread2
             26792262.40       -25.8%  19874969.60  TOTAL will-it-scale.pread2.32.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             20094196.80       -25.8%  14906227.20  lkp-sbx04/micro/will-it-scale/pread2
             20094196.80       -25.8%  14906227.20  TOTAL will-it-scale.pread2.24.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             53584524.80       -25.8%  39749939.20  lkp-sbx04/micro/will-it-scale/pread2
             53584524.80       -25.8%  39749939.20  TOTAL will-it-scale.pread2.64.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             40188393.60       -25.8%  29812454.40  lkp-sbx04/micro/will-it-scale/pread2
             40188393.60       -25.8%  29812454.40  TOTAL will-it-scale.pread2.48.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
              6698065.60       -25.8%   4968742.40  lkp-sbx04/micro/will-it-scale/pread2
              6698065.60       -25.8%   4968742.40  TOTAL will-it-scale.pread2.8.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               837258.20       -25.8%    621092.80  lkp-sbx04/micro/will-it-scale/pread2
               837258.20       -25.8%    621092.80  TOTAL will-it-scale.pread2.1.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               837258.20       -25.8%    621092.80  lkp-sbx04/micro/will-it-scale/pread2
               837258.20       -25.8%    621092.80  TOTAL will-it-scale.pread2.1.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             40202380.80       -25.8%  29840668.80  lkp-sbx04/micro/will-it-scale/pread1
             40202380.80       -25.8%  29840668.80  TOTAL will-it-scale.pread1.48.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             20101190.40       -25.8%  14920334.40  lkp-sbx04/micro/will-it-scale/pread1
             20101190.40       -25.8%  14920334.40  TOTAL will-it-scale.pread1.24.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
              6700396.80       -25.8%   4973444.80  lkp-sbx04/micro/will-it-scale/pread1
              6700396.80       -25.8%   4973444.80  TOTAL will-it-scale.pread1.8.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             53603174.40       -25.8%  39787558.40  lkp-sbx04/micro/will-it-scale/pread1
             53603174.40       -25.8%  39787558.40  TOTAL will-it-scale.pread1.64.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               837549.60       -25.8%    621680.60  lkp-sbx04/micro/will-it-scale/pread1
               837549.60       -25.8%    621680.60  TOTAL will-it-scale.pread1.1.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               837549.60       -25.8%    621680.60  lkp-sbx04/micro/will-it-scale/pread1
               837549.60       -25.8%    621680.60  TOTAL will-it-scale.pread1.1.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             26801587.20       -25.8%  19893779.20  lkp-sbx04/micro/will-it-scale/pread1
             26801587.20       -25.8%  19893779.20  TOTAL will-it-scale.pread1.32.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             13400793.60       -25.8%   9946889.60  lkp-sbx04/micro/will-it-scale/pread1
             13400793.60       -25.8%   9946889.60  TOTAL will-it-scale.pread1.16.linear

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             16103348.20       -25.2%  12039259.40  lkp-sbx04/micro/will-it-scale/pread1
             16103348.20       -25.2%  12039259.40  TOTAL will-it-scale.pread1.64.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
             11062366.00       -23.2%   8501004.20  lkp-sbx04/micro/will-it-scale/pread1
             11062366.00       -23.2%   8501004.20  TOTAL will-it-scale.pread1.48.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               596765.40       -20.1%    477000.60  lkp-sbx04/micro/will-it-scale/pread1
               596765.40       -20.1%    477000.60  TOTAL will-it-scale.pread1.1.threads

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
              9155848.00       -17.7%   7538214.20  lkp-sbx04/micro/will-it-scale/pread1
              9155848.00       -17.7%   7538214.20  TOTAL will-it-scale.pread1.8.threads

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               595761.80       -19.9%    477296.20  lkp-sbx04/micro/will-it-scale/pread2
               595761.80       -19.9%    477296.20  TOTAL will-it-scale.pread2.1.threads

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
              5743713.40       -12.2%   5040736.60  lkp-sbx04/micro/will-it-scale/pread1
              5743713.40       -12.2%   5040736.60  TOTAL will-it-scale.pread1.24.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               345893.67       -11.3%    306922.00  lkp-a06/crypto/tcrypt/2s-500-504
               345893.67       -11.3%    306922.00  TOTAL tcrypt.async_xts_serpent_encryption_2.512_bit_key.256_byte_blocks

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               346216.33       -11.2%    307554.00  lkp-a06/crypto/tcrypt/2s-500-504
               346216.33       -11.2%    307554.00  TOTAL tcrypt.async_xts_serpent_encryption_2.256_bit_key.256_byte_blocks

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
               415605.00       -11.2%    369082.20  lkp-sbx04/micro/will-it-scale/pread2
               415605.00       -11.2%    369082.20  TOTAL will-it-scale.pread2.8.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
              7010726.40       -10.4%   6282367.20  lkp-sbx04/micro/will-it-scale/pread1
              7010726.40       -10.4%   6282367.20  TOTAL will-it-scale.pread1.16.processes

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
                  259.18       -10.0%       233.32  lkp-a06/micro/dbench/100%
                 4387.50        -8.4%      4020.88  nhm8/micro/dbench/100%
                 4646.68        -8.4%      4254.20  TOTAL dbench.throughput-MB/sec

    827da44c61419f29ae3b      1ca7d67cf5d5a2aef26a  
------------------------  ------------------------  
                  243.33        -4.7%       232.00  lkp-a04/micro/netperf/120s-200%-TCP_MAERTS
                  189.33        -5.3%       179.33  lkp-a04/micro/netperf/120s-200%-TCP_SENDFILE
                  240.33        -5.3%       227.67  lkp-a04/micro/netperf/120s-200%-TCP_STREAM
                 3272.33       -10.5%      2928.00  lkp-t410/micro/netperf/120s-200%-TCP_MAERTS
                 1950.33        -7.1%      1811.00  lkp-t410/micro/netperf/120s-200%-TCP_SENDFILE
                 3338.67       -11.9%      2941.00  lkp-t410/micro/netperf/120s-200%-TCP_STREAM
                 9234.33        -9.9%      8319.00  TOTAL netperf.Throughput_Mbps


BTW, Kernel config is attached.


	--yliu

View attachment "config-3.12.0-00181-g1ca7d67" of type "text/plain" (80193 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ