linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matt Sealey <Matt.Sealey@arm.com>
To: "Markus F.X.J. Oberhumer" <markus@oberhumer.com>,
	Dave Rodgman <dave.rodgman@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Cc: "herbert@gondor.apana.org.au" <herbert@gondor.apana.org.au>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"nitingupta910@gmail.com" <nitingupta910@gmail.com>,
	"minchan@kernel.org" <minchan@kernel.org>,
	"sergey.senozhatsky.work@gmail.com" 
	<sergey.senozhatsky.work@gmail.com>,
	"sonnyrao@google.com" <sonnyrao@google.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	nd <nd@arm.com>, "sfr@canb.auug.org.au" <sfr@canb.auug.org.au>
Subject: RE: [PATCH v4 0/7] lib/lzo: performance improvements
Date: Thu, 6 Dec 2018 16:22:27 +0000	[thread overview]
Message-ID: <VI1PR08MB3662EA5B9E00BB59AF471CB1EEA90@VI1PR08MB3662.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <5C09448C.8010506@oberhumer.com>

Markus,

> Request 2 - add COPY16; *NOT* acked by me
> 
>   [PATCH 2/8] lib/lzo: clean-up by introducing COPY16
> 
> is still not correct because of possible overlapping copies. I'll
> address this on the weekend.

Can you give a syndrome as to why

{
	COPY8(op, ip);
	COPY8(op+8,ip+8);
	ip+=16;
	op+=16;
}

or

{ 
	COPY8(op, ip);
	ip+=8;
	op+=8;
	COPY8(op, ip);
	ip+=8;
	op+=8;
}

vs.

#define COPY16(dst,src) COPY8(dst,src); COPY8(dst+8,src+8)

{
	COPY16(op, ip);
	ip+=16;
	op+=16;
}

.. causes "overlapping copies"?

COPY8 was only ever used in pairs as above and the second method
broke compiler optimizers since it adds an artificial barrier
between the two groups. The only difference was that decompress
and compress had the pointer increments spread out. If we need
to fix that then that's a good reason, but your reasoning continues
to elude me.

I can refactor the patch to align the second method with the first
and make compress and decompress get the same codegen, which is
functionally identical to the COPY16 patch, but that would seem to
in your opinion be the whole problem..

I'll see what you've got after the weekend ;D

Ta
Matt Sealey

  reply	other threads:[~2018-12-06 16:22 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30 14:26 [PATCH v4 0/7] lib/lzo: performance improvements Dave Rodgman
2018-11-30 14:26 ` [PATCH 1/8] lib/lzo: tidy-up ifdefs Dave Rodgman
2018-12-06 15:49   ` Markus F.X.J. Oberhumer
2018-11-30 14:26 ` [PATCH 2/8] lib/lzo: clean-up by introducing COPY16 Dave Rodgman
2018-12-06 15:56   ` Markus F.X.J. Oberhumer
2018-11-30 14:26 ` [PATCH 3/8] lib/lzo: enable 64-bit CTZ on Arm Dave Rodgman
2018-12-06 15:51   ` Markus F.X.J. Oberhumer
2018-11-30 14:26 ` [PATCH 4/8] lib/lzo: 64-bit CTZ on arm64 Dave Rodgman
2018-12-06 15:52   ` Markus F.X.J. Oberhumer
2018-11-30 14:26 ` [PATCH 5/8] lib/lzo: fast 8-byte copy " Dave Rodgman
2018-12-06 15:53   ` Markus F.X.J. Oberhumer
2018-11-30 14:26 ` [PATCH 6/8] lib/lzo: implement run-length encoding Dave Rodgman
2018-12-06 15:56   ` Markus F.X.J. Oberhumer
2018-11-30 14:26 ` [PATCH 7/8] lib/lzo: separate lzo-rle from lzo Dave Rodgman
2018-12-01  8:48   ` Herbert Xu
2018-11-30 14:26 ` [PATCH 8/8] zram: default to lzo-rle instead of lzo Dave Rodgman
2018-12-05  7:30 ` [PATCH v4 0/7] lib/lzo: performance improvements Sergey Senozhatsky
2018-12-05  9:50   ` Dave Rodgman
2018-12-05 10:20     ` Sergey Senozhatsky
2018-12-06 15:47 ` Markus F.X.J. Oberhumer
2018-12-06 16:22   ` Matt Sealey [this message]
2018-12-07 15:54   ` Dave Rodgman
2019-01-07 15:35     ` Dave Rodgman

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=VI1PR08MB3662EA5B9E00BB59AF471CB1EEA90@VI1PR08MB3662.eurprd08.prod.outlook.com \
    --to=matt.sealey@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=dave.rodgman@arm.com \
    --cc=davem@davemloft.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markus@oberhumer.com \
    --cc=minchan@kernel.org \
    --cc=nd@arm.com \
    --cc=nitingupta910@gmail.com \
    --cc=sergey.senozhatsky.work@gmail.com \
    --cc=sfr@canb.auug.org.au \
    --cc=sonnyrao@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).