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-prev] [day] [month] [year] [list]
Date:   Tue, 9 Mar 2021 13:05:27 +0000
From:   Matthew Wilcox <willy@...radead.org>
To:     kernel test robot <oliver.sang@...el.com>
Cc:     Linus Torvalds <torvalds@...ux-foundation.org>,
        Kent Overstreet <kent.overstreet@...il.com>,
        Christoph Hellwig <hch@....de>,
        Miaohe Lin <linmiaohe@...wei.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        LKML <linux-kernel@...r.kernel.org>, lkp@...ts.01.org,
        lkp@...el.com, ying.huang@...el.com, feng.tang@...el.com,
        zhengjun.xing@...el.com
Subject: Re: [mm/filemap]  cbd59c48ae:
 fxmark.hdd_ext4_no_jnl_DRBM_9_bufferedio.works/sec -7.6% regression

On Tue, Mar 09, 2021 at 03:57:06PM +0800, kernel test robot wrote:
> FYI, we noticed a -7.6% regression of fxmark.hdd_ext4_no_jnl_DRBM_9_bufferedio.works/sec due to commit:
> 
> commit: cbd59c48ae2bcadc4a7599c29cf32fd3f9b78251 ("mm/filemap: use head pages in generic_file_buffered_read")
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
> 
> in testcase: fxmark
> on test machine: 288 threads Intel(R) Xeon Phi(TM) CPU 7295 @ 1.50GHz with 80G memory

Can you send me one of those to test on?  ;-)

>          %stddev     %change         %stddev
>              \          |                \  
>       0.05 ±  5%     -10.1%       0.05 ±  3%  fxmark.hdd_ext4_no_jnl_DRBM_18_bufferedio.softirq_util
>    4168491            -7.6%    3849925        fxmark.hdd_ext4_no_jnl_DRBM_9_bufferedio.works/sec
>     300.00            +2.1%     306.16        fxmark.time.system_time
>      87.53            -6.7%      81.69        fxmark.time.user_time
>     784.83 ±  5%     +23.6%     970.33 ±  7%  perf-sched.wait_and_delay.count.preempt_schedule_common.__cond_resched.copy_page_to_iter.generic_file_buffered_read.new_sync_read

23% more delay while preempted copying to user?  That seems bad, but I
don't see anything in this commit that would cause that.

>       7.59            -7.6        0.00        perf-profile.calltrace.cycles-pp.find_get_pages_contig.filemap_get_pages.generic_file_buffered_read.new_sync_read.vfs_read

That makes sense; we don't call find_get_pages_contig() any more, instead
we call ...

>       0.00           +11.9       11.90        perf-profile.calltrace.cycles-pp.filemap_get_read_batch.filemap_get_pages.generic_file_buffered_read.new_sync_read.vfs_read

filemap_get_read_batch() ... which is more expensive ;-(

                if (PageReadahead(head))
                        break;
+		if (!PageHead(head))
+			continue;
                xas.xa_index = head->index + thp_nr_pages(head) - 1;
                xas.xa_offset = (xas.xa_index >> xas.xa_shift) & XA_CHUNK_MASK;

might be worth a try, but I have a medical appointment to get to.
I'll test it out later.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ