All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: Mike Snitzer <snitzer@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Dan Williams <dan.j.williams@intel.com>,
	device-mapper development <dm-devel@redhat.com>,
	X86 ML <x86@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 RESEND] x86: optimize memcpy_flushcache
Date: Fri, 22 Jun 2018 03:30:49 +0200	[thread overview]
Message-ID: <20180622013049.GA12505@gmail.com> (raw)
In-Reply-To: <alpine.LRH.2.02.1806211224470.19940@file01.intranet.prod.int.rdu2.redhat.com>


* Mikulas Patocka <mpatocka@redhat.com> wrote:

> On Thu, 21 Jun 2018, Ingo Molnar wrote:
> 
> > 
> > * Mike Snitzer <snitzer@redhat.com> wrote:
> > 
> > > From: Mikulas Patocka <mpatocka@redhat.com>
> > > Subject: [PATCH v2] x86: optimize memcpy_flushcache
> > > 
> > > In the context of constant short length stores to persistent memory,
> > > memcpy_flushcache suffers from a 2% performance degradation compared to
> > > explicitly using the "movnti" instruction.
> > > 
> > > Optimize 4, 8, and 16 byte memcpy_flushcache calls to explicitly use the
> > > movnti instruction with inline assembler.
> > 
> > Linus requested asm optimizations to include actual benchmarks, so it would be 
> > nice to describe how this was tested, on what hardware, and what the before/after 
> > numbers are.
> > 
> > Thanks,
> > 
> > 	Ingo
> 
> It was tested on 4-core skylake machine with persistent memory being 
> emulated using the memmap kernel option. The dm-writecache target used the 
> emulated persistent memory as a cache and sata SSD as a backing device. 
> The patch results in 2% improved throughput when writing data using dd.
> 
> I don't have access to the machine anymore.

I think this information is enough, but do we know how well memmap emulation 
represents true persistent memory speed and cache management characteristics?
It might be representative - but I don't know for sure, nor probably most
readers of the changelog.

So could you please put all this into an updated changelog, and also add a short 
description that outlines exactly which codepaths end up using this method in a 
typical persistent memory setup? All filesystem ops - or only reads, etc?

Thanks,

	Ingo

  reply	other threads:[~2018-06-22  1:30 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-19  5:25 [patch 0/4] dm-writecache patches Mikulas Patocka
2018-05-19  5:25 ` [patch 1/4] x86: optimize memcpy_flushcache Mikulas Patocka
2018-05-19 14:21   ` Dan Williams
2018-05-24 18:20     ` [PATCH v2] " Mike Snitzer
2018-06-18 13:23       ` [PATCH v2 RESEND] " Mike Snitzer
2018-06-18 13:23         ` Mike Snitzer
2018-06-21 14:31         ` Ingo Molnar
2018-06-22  1:19           ` Mikulas Patocka
2018-06-22  1:19             ` Mikulas Patocka
2018-06-22  1:30             ` Ingo Molnar [this message]
2018-08-08 21:22               ` [PATCH v3 " Mikulas Patocka
2018-09-10 13:18                 ` Ingo Molnar
2018-09-11  6:22                 ` [tip:x86/asm] x86/asm: Optimize memcpy_flushcache() tip-bot for Mikulas Patocka
2018-05-19  5:25 ` [patch 2/4] swait: export the symbols __prepare_to_swait and __finish_swait Mikulas Patocka
2018-05-22  6:34   ` Christoph Hellwig
2018-05-22 18:52     ` Mike Snitzer
2018-05-23  9:21       ` Peter Zijlstra
2018-05-23 15:10         ` Mike Snitzer
2018-05-23 18:10           ` [PATCH v2] swait: export " Mike Snitzer
2018-05-23 20:38             ` Mikulas Patocka
2018-05-23 21:51               ` Mike Snitzer
2018-05-24 14:10             ` Peter Zijlstra
2018-05-24 15:09               ` Mike Snitzer
2018-05-19  5:25 ` [patch 3/4] dm-writecache Mikulas Patocka
2018-05-22  6:37   ` Christoph Hellwig
2018-05-19  5:25 ` [patch 4/4] dm-writecache: use new API for flushing Mikulas Patocka
     [not found]   ` <20180519052635.567438191-59tzFEB+POEAvxtiuMwx3w@public.gmane.org>
2018-05-22  6:39     ` [dm-devel] " Christoph Hellwig
2018-05-22  6:39       ` Christoph Hellwig
     [not found]       ` <20180522063946.GB8054-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2018-05-22 18:41         ` Mike Snitzer
2018-05-22 18:41           ` Mike Snitzer
     [not found]           ` <20180522184103.GA25826-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-22 19:00             ` Dan Williams
2018-05-22 19:00               ` Dan Williams
     [not found]               ` <CAPcyv4g395RccdEPF=sCu5RdCH9zwD+GvOfSp7-F0Oh64CeDgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-22 19:19                 ` Mike Snitzer
2018-05-22 19:19                   ` Mike Snitzer
     [not found]                   ` <20180522191942.GB25904-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-22 19:27                     ` Dan Williams
2018-05-22 19:27                       ` Dan Williams
     [not found]                       ` <CAPcyv4hWswV=VCfB7KatoW_zc-kUUju2jD45N-Gsg4sW-XFe-A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-22 20:52                         ` Mike Snitzer
2018-05-22 20:52                           ` Mike Snitzer
     [not found]                           ` <20180522205214.GA26259-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-22 22:53                             ` [dm-devel] " Jeff Moyer
2018-05-22 22:53                               ` Jeff Moyer
     [not found]                               ` <x49r2m3nvyk.fsf-RRHT56Q3PSP4kTEheFKJxxDDeQx5vsVwAInAS/Ez/D0@public.gmane.org>
2018-05-23 20:57                                 ` Mikulas Patocka
2018-05-23 20:57                                   ` Mikulas Patocka
2018-05-28 13:52                         ` Mikulas Patocka
2018-05-28 13:52                           ` Mikulas Patocka
     [not found]                           ` <alpine.LRH.2.02.1805280943460.16538-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-28 17:41                             ` Dan Williams
2018-05-28 17:41                               ` Dan Williams
     [not found]                               ` <CAPcyv4gxCNqqG2G3R6f=kH3zNbByhgE2R-trJWurH49-p+51Gg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-30 13:42                                 ` [dm-devel] " Jeff Moyer
2018-05-30 13:42                                   ` Jeff Moyer
     [not found]                                   ` <x49h8mpmf8v.fsf-RRHT56Q3PSP4kTEheFKJxxDDeQx5vsVwAInAS/Ez/D0@public.gmane.org>
2018-05-30 13:51                                     ` Mikulas Patocka
2018-05-30 13:51                                       ` Mikulas Patocka
2018-05-30 13:52                                     ` Jeff Moyer
2018-05-30 13:52                                       ` Jeff Moyer
2018-05-24  8:15                 ` Mikulas Patocka
2018-05-24  8:15                   ` Mikulas Patocka
2018-05-25  3:12   ` Dan Williams
2018-05-25  6:17     ` Mikulas Patocka
     [not found]       ` <alpine.LRH.2.02.1805250213270.13894-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-25 12:51         ` Mike Snitzer
2018-05-25 12:51           ` Mike Snitzer
     [not found]           ` <20180525125126.GA9275-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-25 15:57             ` Dan Williams
2018-05-25 15:57               ` Dan Williams
     [not found]               ` <CAPcyv4j-v5HGBg9JMBXt7UUyw=K_bGC7t5tQGfXM9G4qjOpFjQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-26  7:02                 ` Mikulas Patocka
2018-05-26  7:02                   ` Mikulas Patocka
     [not found]                   ` <alpine.LRH.2.02.1805260246250.15978-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-26 15:26                     ` Dan Williams
2018-05-26 15:26                       ` Dan Williams
     [not found]                       ` <CAPcyv4jwLsCNvNhgvv2DDSZuQsQXYEpKUU_5w1pTnyKj-uDBbQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-28 13:32                         ` Mikulas Patocka
2018-05-28 13:32                           ` Mikulas Patocka
     [not found]                           ` <alpine.LRH.2.02.1805280922190.13486-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-28 18:14                             ` Dan Williams
2018-05-28 18:14                               ` Dan Williams
     [not found]                               ` <CAPcyv4jXV4aZ6wqqjVPL8J4LxwTtXnzQCLZ0Wk5oB4_0uxpg7g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-30 13:07                                 ` Mikulas Patocka
2018-05-30 13:07                                   ` Mikulas Patocka
     [not found]                                   ` <alpine.LRH.2.02.1805300903220.1090-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-30 13:16                                     ` Mike Snitzer
2018-05-30 13:16                                       ` Mike Snitzer
     [not found]                                       ` <20180530131623.GB2106-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-30 13:21                                         ` Mikulas Patocka
2018-05-30 13:21                                           ` Mikulas Patocka
     [not found]                                           ` <alpine.LRH.2.02.1805300919070.11327-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-30 13:26                                             ` Mike Snitzer
2018-05-30 13:26                                               ` Mike Snitzer
     [not found]                                               ` <20180530132647.GB5157-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-30 13:33                                                 ` Mikulas Patocka
2018-05-30 13:33                                                   ` Mikulas Patocka
     [not found]                                                   ` <alpine.LRH.2.02.1805300929500.11327-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-30 13:54                                                     ` Mike Snitzer
2018-05-30 13:54                                                       ` Mike Snitzer
     [not found]                                                       ` <20180530135421.GA81788-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-30 14:09                                                         ` Mikulas Patocka
2018-05-30 14:09                                                           ` Mikulas Patocka
     [not found]                                                           ` <alpine.LRH.2.02.1805300959460.16696-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-30 14:21                                                             ` Mike Snitzer
2018-05-30 14:21                                                               ` Mike Snitzer
     [not found]                                                               ` <20180530142104.GA5416-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-30 14:46                                                                 ` Mikulas Patocka
2018-05-30 14:46                                                                   ` Mikulas Patocka
     [not found]                                                                   ` <alpine.LRH.2.02.1805301023380.21890-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-31  3:42                                                                     ` Mike Snitzer
2018-05-31  3:42                                                                       ` Mike Snitzer
     [not found]                                                                       ` <20180531034216.GB88973-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-06-03 15:03                                                                         ` Mikulas Patocka
2018-06-03 15:03                                                                           ` Mikulas Patocka
2018-05-31  3:39                                                             ` Mike Snitzer
2018-05-31  3:39                                                               ` Mike Snitzer
     [not found]                                                               ` <20180531033919.GA88973-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-05-31  8:16                                                                 ` Mikulas Patocka
2018-05-31  8:16                                                                   ` Mikulas Patocka
     [not found]                                                                   ` <alpine.LRH.2.02.1805310412240.30096-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-31 12:09                                                                     ` Mike Snitzer
2018-05-31 12:09                                                                       ` Mike Snitzer
2018-05-30 15:58                                     ` Dan Williams
2018-05-30 15:58                                       ` Dan Williams
     [not found]                                       ` <CAPcyv4j3pDQ3YMK5Eije0dgGw+1CQYazPJ-zvqfvGF-9O_gVJw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-30 22:39                                         ` Dan Williams
2018-05-30 22:39                                           ` Dan Williams
     [not found]                                           ` <CAPcyv4gD-ZaXyV1SFAndobUYJOGLkx9rOyb5zNbzJXB_kVCzoA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-31  8:19                                             ` Mikulas Patocka
2018-05-31  8:19                                               ` Mikulas Patocka
     [not found]                                               ` <alpine.LRH.2.02.1805310416540.30096-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-31 14:51                                                 ` Dan Williams
2018-05-31 14:51                                                   ` Dan Williams
     [not found]                                                   ` <CAPcyv4gzFbdBbUhPJ6W4mTJWAkvqVw_4FVhVdePEJzc28Sg-Sg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-05-31 15:31                                                     ` Mikulas Patocka
2018-05-31 15:31                                                       ` Mikulas Patocka
     [not found]                                                       ` <alpine.LRH.2.02.1805311127001.31059-Hpncn10jQN4oNljnaZt3ZvA+iT7yCHsGwRM8/txMwJMAicBL8TP8PQ@public.gmane.org>
2018-05-31 16:39                                                         ` Dan Williams
2018-05-31 16:39                                                           ` Dan Williams

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=20180622013049.GA12505@gmail.com \
    --to=mingo@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=dm-devel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpatocka@redhat.com \
    --cc=snitzer@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@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.