All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Terrell <terrelln@fb.com>
To: "dsterba@suse.cz" <dsterba@suse.cz>
Cc: Nick Terrell <nickrterrell@gmail.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>,
	"squashfs-devel@lists.sourceforge.net" 
	<squashfs-devel@lists.sourceforge.net>,
	"linux-f2fs-devel@lists.sourceforge.net" 
	<linux-f2fs-devel@lists.sourceforge.net>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kernel Team <Kernel-team@fb.com>, Chris Mason <clm@fb.com>,
	Petr Malat <oss@malat.biz>, Johannes Weiner <jweiner@fb.com>,
	Niket Agarwal <niketa@fb.com>, Yann Collet <cyan@fb.com>,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [GIT PULL][PATCH v4 0/9] Update to zstd-1.4.6
Date: Thu, 1 Oct 2020 18:35:34 +0000	[thread overview]
Message-ID: <D369584C-5BA4-4C08-BFE9-8DB79A05CC31@fb.com> (raw)
In-Reply-To: <20201001101833.GT6756@twin.jikos.cz>



> On Oct 1, 2020, at 3:18 AM, David Sterba <dsterba@suse.cz> wrote:
> 
> On Wed, Sep 30, 2020 at 08:49:49PM +0000, Nick Terrell wrote:
>>> On Sep 29, 2020, at 11:53 PM, Nick Terrell <nickrterrell@gmail.com> wrote:
>>> 
>>> From: Nick Terrell <terrelln@fb.com>
>> 
>> It has been brought to my attention that patch 3 hasn’t made it to patchwork,
>> likely because it is too large. I’ll include a pull request in the next cover letter,
>> together with the patches (if needed).
> 
> The patch 3/9 saved to a file is 1.6M, over 35000 lines, the diffstat
> says:
> 
> 66 files changed, 24268 insertions(+), 12889 deletions(-)
> 
> Seriously, this is wrong in so many ways. There's the rationale for
> one-time change etc, but the actual result is beyond what I would accept
> and would not encourage anyone to merge as-is.

I’m open to suggestions on how to get a zstd update done better. I don’t
know of any way to break this patch up into smaller patches that all compile.
The code is all generated directly from upstream and modified to work in the
kernel by automated scripts.

I think the benefits of updating zstd are pretty clear: bug fixes, 3 years of testing,
features, debuggability, support from zstd upstream, and significant performance
improvements.

So I hope we can come up with a way forward to get this merged.

This large of a patch is a one-time change. But, the zstd updates in general
will be large, containing 100s of commits worth of changes (as opposed to
~3500 and a structure change in this diff). E.g. the upstream diff between
two upstream versions range from 50KB - 500KB. Zstd is an actively
maintained project, so there is going to be churn when consuming it. But it
also means that we’re actively supporting the project if any problems occur.

My view is that kernel developers don’t need to review upstreams zstd’s code. We
should focus on the diff from upstream, and ensuring that everything works in the
kernel environment. The imported code from upstream zstd is ~30K LOC, which is
too large for anyone to reasonably review.

As mentioned in the patch, this commit shows the diff from upstream zstd, which
is much more manageable:

https://github.com/terrelln/linux/commit/467c9ea1df1100db48c020c3c8b282a2a30f5116

I’ve generated it by importing upstream zstd as-is into the kernel file structure. Then
running the automation to generate the kernel patch from upstream and importing
it into the kernel on top of the upstream patch.

Best,
Nick

WARNING: multiple messages have this Message-ID (diff)
From: Nick Terrell via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: "dsterba@suse.cz" <dsterba@suse.cz>
Cc: "squashfs-devel@lists.sourceforge.net"
	<squashfs-devel@lists.sourceforge.net>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Christoph Hellwig <hch@infradead.org>,
	Nick Terrell <nickrterrell@gmail.com>, Yann Collet <cyan@fb.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"linux-f2fs-devel@lists.sourceforge.net"
	<linux-f2fs-devel@lists.sourceforge.net>,
	Petr Malat <oss@malat.biz>, Chris Mason <clm@fb.com>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	Kernel Team <Kernel-team@fb.com>, Niket Agarwal <niketa@fb.com>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>,
	Johannes Weiner <jweiner@fb.com>
Subject: Re: [f2fs-dev] [GIT PULL][PATCH v4 0/9] Update to zstd-1.4.6
Date: Thu, 1 Oct 2020 18:35:34 +0000	[thread overview]
Message-ID: <D369584C-5BA4-4C08-BFE9-8DB79A05CC31@fb.com> (raw)
In-Reply-To: <20201001101833.GT6756@twin.jikos.cz>



> On Oct 1, 2020, at 3:18 AM, David Sterba <dsterba@suse.cz> wrote:
> 
> On Wed, Sep 30, 2020 at 08:49:49PM +0000, Nick Terrell wrote:
>>> On Sep 29, 2020, at 11:53 PM, Nick Terrell <nickrterrell@gmail.com> wrote:
>>> 
>>> From: Nick Terrell <terrelln@fb.com>
>> 
>> It has been brought to my attention that patch 3 hasn’t made it to patchwork,
>> likely because it is too large. I’ll include a pull request in the next cover letter,
>> together with the patches (if needed).
> 
> The patch 3/9 saved to a file is 1.6M, over 35000 lines, the diffstat
> says:
> 
> 66 files changed, 24268 insertions(+), 12889 deletions(-)
> 
> Seriously, this is wrong in so many ways. There's the rationale for
> one-time change etc, but the actual result is beyond what I would accept
> and would not encourage anyone to merge as-is.

I’m open to suggestions on how to get a zstd update done better. I don’t
know of any way to break this patch up into smaller patches that all compile.
The code is all generated directly from upstream and modified to work in the
kernel by automated scripts.

I think the benefits of updating zstd are pretty clear: bug fixes, 3 years of testing,
features, debuggability, support from zstd upstream, and significant performance
improvements.

So I hope we can come up with a way forward to get this merged.

This large of a patch is a one-time change. But, the zstd updates in general
will be large, containing 100s of commits worth of changes (as opposed to
~3500 and a structure change in this diff). E.g. the upstream diff between
two upstream versions range from 50KB - 500KB. Zstd is an actively
maintained project, so there is going to be churn when consuming it. But it
also means that we’re actively supporting the project if any problems occur.

My view is that kernel developers don’t need to review upstreams zstd’s code. We
should focus on the diff from upstream, and ensuring that everything works in the
kernel environment. The imported code from upstream zstd is ~30K LOC, which is
too large for anyone to reasonably review.

As mentioned in the patch, this commit shows the diff from upstream zstd, which
is much more manageable:

https://github.com/terrelln/linux/commit/467c9ea1df1100db48c020c3c8b282a2a30f5116

I’ve generated it by importing upstream zstd as-is into the kernel file structure. Then
running the automation to generate the kernel patch from upstream and importing
it into the kernel on top of the upstream patch.

Best,
Nick
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

  reply	other threads:[~2020-10-01 18:36 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-30  6:53 [PATCH v4 0/9] Update to zstd-1.4.6 Nick Terrell
2020-09-30  6:53 ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 1/9] lib: zstd: Add zstd compatibility wrapper Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 2/9] lib: zstd: Add decompress_sources.h for decompress_unzstd Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 3/9] lib: zstd: Upgrade to latest upstream zstd version 1.4.6 Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-10-01 20:50   ` kernel test robot
2020-10-01 20:50     ` kernel test robot
2020-10-01 20:50   ` [PATCH] lib: zstd: fix semicolon.cocci warnings kernel test robot
2020-10-01 20:50     ` kernel test robot
2020-10-01 20:50     ` [f2fs-dev] " kernel test robot
2020-09-30  6:53 ` [PATCH v4 4/9] crypto: zstd: Switch to zstd-1.4.6 API Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 5/9] btrfs: zstd: Switch to the " Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 6/9] f2fs: " Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 7/9] squashfs: " Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 8/9] lib: unzstd: " Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 9/9] lib: zstd: Remove zstd compatibility wrapper Nick Terrell
2020-09-30  6:53   ` [f2fs-dev] " Nick Terrell
2020-09-30  6:53 ` [PATCH v4 0/9] Update to zstd-1.4.6 Christoph Hellwig
2020-09-30  6:53   ` [f2fs-dev] " Christoph Hellwig
2020-09-30 20:05   ` Nick Terrell
2020-09-30 20:05     ` [f2fs-dev] " Nick Terrell via Linux-f2fs-devel
2020-10-02  6:54     ` Christoph Hellwig
2020-10-02  6:54       ` [f2fs-dev] " Christoph Hellwig
2020-10-02 13:42       ` Chris Mason
2020-10-02 13:42         ` [f2fs-dev] " Chris Mason via Linux-f2fs-devel
2020-09-30 20:49 ` [GIT PULL][PATCH " Nick Terrell
2020-09-30 20:49   ` [f2fs-dev] " Nick Terrell via Linux-f2fs-devel
2020-10-01 10:18   ` David Sterba
2020-10-01 10:18     ` [f2fs-dev] " David Sterba
2020-10-01 18:35     ` Nick Terrell [this message]
2020-10-01 18:35       ` Nick Terrell via Linux-f2fs-devel
2020-10-02  6:56       ` Christoph Hellwig
2020-10-02  6:56         ` [f2fs-dev] " Christoph Hellwig

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=D369584C-5BA4-4C08-BFE9-8DB79A05CC31@fb.com \
    --to=terrelln@fb.com \
    --cc=Kernel-team@fb.com \
    --cc=clm@fb.com \
    --cc=cyan@fb.com \
    --cc=dsterba@suse.cz \
    --cc=hch@infradead.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=jweiner@fb.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickrterrell@gmail.com \
    --cc=niketa@fb.com \
    --cc=oss@malat.biz \
    --cc=squashfs-devel@lists.sourceforge.net \
    /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.