From: Janusz Krzysztofik <jmkrzyszt@gmail.com> To: Linus Walleij <linus.walleij@linaro.org> Cc: "Boris Brezillon" <boris.brezillon@bootlin.com>, "Jonathan Corbet" <corbet@lwn.net>, "Miquèl Raynal" <miquel.raynal@bootlin.com>, "Richard Weinberger" <richard@nod.at>, "David Woodhouse" <dwmw2@infradead.org>, "Brian Norris" <computersforpeace@gmail.com>, "Mark Vasut" <marek.vasut@gmail.com>, "ext Tony Lindgren" <tony@atomide.com>, "Aaro Koskinen" <aaro.koskinen@iki.fi>, "Linux ARM" <linux-arm-kernel@lists.infradead.org>, Linux-OMAP <linux-omap@vger.kernel.org>, linux-mtd@lists.infradead.org, linux-doc@vger.kernel.org, "open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Janusz Krzysztofik" <jmkrzyszt@gmail.com> Subject: Re: [RFC PATCH v2 12/12] gpiolib: Add fast processing path to bitmap API functions Date: Tue, 07 Aug 2018 19:29:53 +0200 Message-ID: <11711552.OvaP4pOjBH@z50> (raw) In-Reply-To: <CACRpkdYHqFOFSv-erCzx8_u-mVUgGPdDH0ts-+DNAvjP3Qxb9w@mail.gmail.com> On Tuesday, August 7, 2018 1:43:56 AM CEST Linus Walleij wrote: > On Tue, Aug 7, 2018 at 12:29 AM Janusz Krzysztofik <jmkrzyszt@gmail.com> wrote: > > Hi Janusz! > > > Certain GPIO descriptor arrays returned by gpio_get_array() may contain > > information on a single GPIO chip driving array member pins in hardware > > order. In such cases, bitmaps of values can be passed directly to the > > chip callback functions without wasting time on iterations. > > > > Add respective code to gpiod_get/set_array_bitmap_complex() functions. > > > > Signed-off-by: Janusz Krzysztofik <jmkrzyszt@gmail.com> > > I think it would be disappointing to leave all the users of the old > array API without the performance improvement. I think we need to > deal with this in a way such that everyone can benefit from it. There are a few issues to be resolved: 1) array size limited by bitmap size: - are we ready to limit array size to a single bitmap for all users? - if not, how can we pass a bitmap of an arbitrary size? - if as an array of bitmaps, is that still clear enough and easy to use? - other ideas? 2) arbitrary array support: - are we ready to drop that? - if not, do we agree to require all users to pack their arbitrary arrays inside the gpio_descs structure? Maybe more. > Also it is kludgy if users (consumers) would need to handle the case > where all lines are on the same chip separately, through the bitmap > API. Not true as long as array size fits (arbitrary arrays can be packed by users), but I see your point. > What we need is an API that: > > - All drivers handling arrays can use (including current users). > > - Enables speed-up if the lines are all on the same chip/register. > > - Doesn't require consumers to know if they are all on the same > chip or not. > > This means a deep API with a small surface. > > How do we achieve this the best way? I think widely accepted solutions to those two issues I've mentioned above can give the answer. Thanks, Janusz
next prev parent reply index Thread overview: 206+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-07-18 23:57 [RFC PATCH 0/8] mtd: rawnand: ams-delta: Use gpio-omap accessors for data I/O Janusz Krzysztofik 2018-07-18 23:57 ` [RFC PATCH 1/8] mtd: rawnand: ams-delta: Use private structure Janusz Krzysztofik 2018-07-19 6:17 ` Boris Brezillon 2018-07-20 17:57 ` Janusz Krzysztofik 2018-07-18 23:57 ` [RFC PATCH 2/8] mtd: rawnand: ams-delta: Write protect device during probe Janusz Krzysztofik 2018-07-19 6:22 ` Boris Brezillon 2018-07-20 18:02 ` Janusz Krzysztofik 2018-07-18 23:57 ` [RFC PATCH 3/8] mtd: rawnand: ams-delta: Set port direction once per transfer Janusz Krzysztofik 2018-07-19 6:23 ` Boris Brezillon 2018-07-20 18:12 ` Janusz Krzysztofik 2018-07-20 19:29 ` Boris Brezillon 2018-07-18 23:57 ` [RFC PATCH 4/8] mtd: rawnand: ams-delta: Optimize pointer resolution on read/write Janusz Krzysztofik 2018-07-19 6:25 ` Boris Brezillon 2018-07-20 18:14 ` Janusz Krzysztofik 2018-07-20 19:29 ` Boris Brezillon 2018-07-18 23:57 ` [RFC PATCH 5/8] mtd: rawnand: ams-delta: Request data port GPIO resource Janusz Krzysztofik 2018-07-19 6:28 ` Boris Brezillon 2018-07-18 23:57 ` [RFC PATCH 6/8] gpio: omap: Add get/set_multiple() callbacks Janusz Krzysztofik 2018-07-29 20:29 ` Linus Walleij 2018-08-03 1:52 ` Grygorii Strashko 2018-08-03 16:47 ` Linus Walleij 2018-07-18 23:57 ` [RFC PATCH 7/8] mtd: rawnand: ams-delta: Check sanity of data GPIO resource Janusz Krzysztofik 2018-07-19 6:44 ` Boris Brezillon 2018-07-29 20:36 ` Linus Walleij 2018-07-29 21:16 ` Boris Brezillon 2018-07-29 20:33 ` Linus Walleij 2018-07-18 23:57 ` [RFC PATCH 8/8] mtd: rawnand: ams-delta: Use GPIO callbacks for data I/O Janusz Krzysztofik 2018-07-19 6:47 ` Boris Brezillon 2018-07-20 18:38 ` Janusz Krzysztofik 2018-07-20 19:48 ` Boris Brezillon 2018-07-19 6:15 ` [RFC PATCH 0/8] mtd: rawnand: ams-delta: Use gpio-omap accessors " Boris Brezillon 2018-07-20 17:55 ` Janusz Krzysztofik 2018-07-20 19:25 ` Boris Brezillon 2018-10-03 12:00 ` [RFC PATCH] mtd: rawnand: ams-delta: use ->exec_op() Janusz Krzysztofik 2018-10-03 12:30 ` Boris Brezillon 2018-10-03 13:55 ` Janusz Krzysztofik 2018-10-03 14:06 ` Boris Brezillon 2018-10-04 13:52 ` Janusz Krzysztofik 2018-10-04 13:59 ` Boris Brezillon 2018-10-04 14:11 ` Janusz Krzysztofik 2018-10-04 14:22 ` Boris Brezillon 2018-10-12 20:41 ` [PATCH v2 1/2] mtd: rawnand: Provide helper for polling GPIO R/B pin Janusz Krzysztofik 2018-10-12 20:41 ` [PATCH v2 2/2] mtd: rawnand: ams-delta: Use ->exec_op() Janusz Krzysztofik 2018-10-13 6:05 ` Boris Brezillon 2018-10-13 5:55 ` [PATCH v2 1/2] mtd: rawnand: Provide helper for polling GPIO R/B pin Boris Brezillon 2018-10-15 19:41 ` [PATCH v3 1/3] " Janusz Krzysztofik 2018-10-15 19:41 ` [PATCH v3 2/3] mtd: rawnand: ams-delta: Stop using legacy .IOADDR_R/W Janusz Krzysztofik 2018-10-15 19:41 ` [PATCH v3 3/3] mtd: rawnand: ams-delta: Convert the driver to ->exec_op() Janusz Krzysztofik 2018-11-11 20:53 ` [PATCH v3 1/3] mtd: rawnand: Provide helper for polling GPIO R/B pin Miquel Raynal 2018-08-06 22:29 ` [RFC PATCH v2] mtd: rawnand: ams-delta: Use GPIO API for data I/O Janusz Krzysztofik 2018-08-06 22:29 ` [RFC PATCH v2 01/12] mtd: rawnand: ams-delta: Assign mtd->dev.parent, not mtd->owner Janusz Krzysztofik 2018-08-06 23:54 ` Marek Vasut 2018-08-07 21:55 ` Janusz Krzysztofik 2018-08-07 16:57 ` Boris Brezillon 2018-08-06 22:29 ` [RFC PATCH v2 02/12] mtd: rawnand: ams-delta: Use private structure Janusz Krzysztofik 2018-08-07 16:59 ` Boris Brezillon 2018-08-06 22:29 ` [RFC PATCH v2 03/12] ARM: OMAP1: ams-delta: Provide GPIO lookup table for NAND data port Janusz Krzysztofik 2018-08-07 16:59 ` Boris Brezillon 2018-08-10 10:10 ` Linus Walleij 2018-08-06 22:29 ` [RFC PATCH v2 04/12] mtd: rawnand: ams-delta: request data port GPIO resource Janusz Krzysztofik 2018-08-07 17:00 ` Boris Brezillon 2018-08-10 10:11 ` Linus Walleij 2018-08-06 22:29 ` [RFC PATCH v2 05/12] mtd: rawnand: ams-delta: use GPIO API for data read/write Janusz Krzysztofik 2018-08-06 23:57 ` Marek Vasut 2018-08-07 17:06 ` Boris Brezillon 2018-08-07 17:11 ` Janusz Krzysztofik 2018-08-10 10:25 ` Linus Walleij 2018-08-06 22:29 ` [RFC PATCH v2 06/12] ARM: OMAP1: ams-delta: drop obsolete NAND resources Janusz Krzysztofik 2018-08-06 22:29 ` [RFC PATCH v2 07/12] mtd: rawnand: ams-delta: Set port direction once per transfer Janusz Krzysztofik 2018-08-07 18:57 ` Boris Brezillon 2018-08-08 16:55 ` Janusz Krzysztofik 2018-08-08 17:42 ` Miquel Raynal 2018-08-06 22:29 ` [RFC PATCH v2 08/12] mtd: rawnand: ams-delta: Simplify pointer resolution on read/write Janusz Krzysztofik 2018-08-07 17:02 ` Boris Brezillon 2018-08-07 17:15 ` Janusz Krzysztofik 2018-08-06 22:29 ` [RFC PATCH v2 09/12] gpiolib: Identify GPIO descriptor arrays with direct mapping Janusz Krzysztofik 2018-08-06 23:29 ` Linus Walleij 2018-08-07 16:50 ` Janusz Krzysztofik 2018-08-07 17:10 ` Boris Brezillon 2018-08-07 17:14 ` Boris Brezillon 2018-08-07 17:19 ` Janusz Krzysztofik 2018-08-06 22:29 ` [RFC PATCH v2 10/12] gpiolib: Introduce bitmap get/set array API extension Janusz Krzysztofik 2018-08-06 22:29 ` [RFC PATCH v2 11/12] mtd: rawnand: ams-delta: Use GPIO API bitmap extension Janusz Krzysztofik 2018-08-06 22:29 ` [RFC PATCH v2 12/12] gpiolib: Add fast processing path to bitmap API functions Janusz Krzysztofik 2018-08-06 23:43 ` Linus Walleij 2018-08-07 17:29 ` Janusz Krzysztofik [this message] 2018-08-07 17:47 ` Boris Brezillon 2018-08-10 10:55 ` Linus Walleij 2018-08-13 22:34 ` [PATCH v3 0/7] mtd: rawnand: ams-delta: Use GPIO API for data I/O Janusz Krzysztofik 2018-08-13 22:34 ` [PATCH v3 1/7] mtd: rawnand: ams-delta: show parent device in sysfs Janusz Krzysztofik 2018-08-13 22:34 ` [PATCH v3 2/7] mtd: rawnand: ams-delta: Use private structure Janusz Krzysztofik 2018-08-13 22:34 ` [PATCH v3 3/7] ARM: OMAP1: ams-delta: Provide GPIO lookup table for NAND data port Janusz Krzysztofik 2018-08-13 22:34 ` [PATCH v3 4/7] mtd: rawnand: ams-delta: request data port GPIO resource Janusz Krzysztofik 2018-08-13 22:34 ` [PATCH v3 5/7] mtd: rawnand: ams-delta: Set port direction when needed Janusz Krzysztofik 2018-08-16 7:30 ` Boris Brezillon 2018-08-13 22:34 ` [PATCH v3 6/7] mtd: rawnand: ams-delta: Simplify pointer resolution on read/write Janusz Krzysztofik 2018-08-13 22:34 ` [PATCH v3 7/7] mtd: rawnand: ams-delta: use GPIO API for data I/O Janusz Krzysztofik 2018-08-16 7:39 ` Boris Brezillon 2018-08-20 21:39 ` [PATCH v4 0/3] mtd: rawnand: ams-delta: Cleanups and optimizations Janusz Krzysztofik 2018-08-20 21:39 ` [PATCH v4 1/3] mtd: rawnand: ams-delta: show parent device in sysfs Janusz Krzysztofik 2018-08-20 21:39 ` [PATCH v4 2/3] mtd: rawnand: ams-delta: Use private structure Janusz Krzysztofik 2018-08-20 21:39 ` [PATCH v4 3/3] mtd: rawnand: ams-delta: Set port direction when needed Janusz Krzysztofik 2018-08-24 12:57 ` Boris Brezillon 2018-09-05 6:47 ` [PATCH v4 0/3] mtd: rawnand: ams-delta: Cleanups and optimizations Miquel Raynal 2018-09-05 20:53 ` Janusz Krzysztofik 2018-09-07 16:45 ` Tony Lindgren 2018-09-19 8:46 ` Miquel Raynal 2018-09-19 22:52 ` [PATCH v5 " Janusz Krzysztofik 2018-09-19 22:52 ` [PATCH v5 1/3] mtd: rawnand: ams-delta: show parent device in sysfs Janusz Krzysztofik 2018-09-19 22:52 ` [PATCH v5 2/3] mtd: rawnand: ams-delta: Use private structure Janusz Krzysztofik 2018-09-19 22:52 ` [PATCH v5 3/3] mtd: rawnand: ams-delta: Set port direction when needed Janusz Krzysztofik 2018-09-23 11:35 ` [PATCH v5 0/3] mtd: rawnand: ams-delta: Cleanups and optimizations Miquel Raynal 2018-08-20 23:43 ` [RFC RFT PATCH 0/4] gpiolib: speed up GPIO array processing Janusz Krzysztofik 2018-08-20 23:43 ` [RFC RFT PATCH v4 1/4] gpiolib: Pass bitmaps, not integer arrays, to get/set array Janusz Krzysztofik 2018-08-21 6:49 ` Peter Rosin 2018-08-21 6:52 ` Peter Rosin 2018-08-29 12:03 ` Miguel Ojeda 2018-08-29 18:01 ` Janusz Krzysztofik 2018-08-20 23:43 ` [RFC RFT PATCH v4 2/4] gpiolib: Identify arrays matching GPIO hardware Janusz Krzysztofik 2018-08-20 23:43 ` [RFC RFT PATCH v4 3/4] gpiolib: Pass array info to get/set array functions Janusz Krzysztofik 2018-08-20 23:43 ` [RFC RFT PATCH v4 4/4] gpiolib: Implement fast processing path in get/set array Janusz Krzysztofik 2018-08-29 9:06 ` [RFC RFT PATCH 0/4] gpiolib: speed up GPIO array processing Linus Walleij 2018-08-29 18:16 ` Janusz Krzysztofik 2018-08-29 10:19 ` Ulf Hansson 2018-08-29 20:48 ` [PATH v5 " Janusz Krzysztofik 2018-08-29 20:48 ` [PATCH v5 1/4] gpiolib: Pass bitmaps, not integer arrays, to get/set array Janusz Krzysztofik 2018-08-30 4:30 ` Peter Rosin 2018-08-30 7:40 ` Geert Uytterhoeven 2018-08-30 11:10 ` Miguel Ojeda 2018-08-30 15:35 ` David Laight 2018-09-02 10:19 ` Janusz Krzysztofik 2018-08-31 9:14 ` Linus Walleij 2018-08-29 20:48 ` [PATCH v5 2/4] gpiolib: Identify arrays matching GPIO hardware Janusz Krzysztofik 2018-08-29 20:48 ` [PATCH v5 3/4] gpiolib: Pass array info to get/set array functions Janusz Krzysztofik 2018-08-29 20:49 ` [PATCH v5 4/4] gpiolib: Implement fast processing path in get/set array Janusz Krzysztofik 2018-08-31 22:56 ` [PATH v6 0/4] gpiolib: speed up GPIO array processing Janusz Krzysztofik 2018-08-31 22:56 ` [PATCH v6 1/4] gpiolib: Pass bitmaps, not integer arrays, to get/set array Janusz Krzysztofik 2018-09-01 0:23 ` Peter Rosin 2018-09-04 15:28 ` kbuild test robot 2018-09-04 15:28 ` kbuild test robot 2018-08-31 22:56 ` [PATCH v6 2/4] gpiolib: Identify arrays matching GPIO hardware Janusz Krzysztofik 2018-08-31 22:56 ` [PATCH v6 3/4] gpiolib: Pass array info to get/set array functions Janusz Krzysztofik 2018-09-04 15:27 ` kbuild test robot 2018-08-31 22:56 ` [PATCH v6 4/4] gpiolib: Implement fast processing path in get/set array Janusz Krzysztofik 2018-09-02 12:01 ` [PATCH v7 0/4] gpiolib: speed up GPIO array processing Janusz Krzysztofik 2018-09-02 12:01 ` [PATCH v7 1/4] gpiolib: Pass bitmaps, not integer arrays, to get/set array Janusz Krzysztofik 2018-09-02 13:21 ` Lukas Wunner 2018-09-03 4:31 ` Matthew Wilcox 2018-09-03 14:24 ` Geert Uytterhoeven 2018-09-03 15:07 ` Geert Uytterhoeven 2018-09-04 15:29 ` kbuild test robot 2018-09-05 6:46 ` kbuild test robot 2018-09-02 12:01 ` [PATCH v7 2/4] gpiolib: Identify arrays matching GPIO hardware Janusz Krzysztofik 2018-09-02 12:01 ` [PATCH v7 3/4] gpiolib: Pass array info to get/set array functions Janusz Krzysztofik 2018-09-03 14:21 ` Geert Uytterhoeven 2018-09-04 15:23 ` kbuild test robot 2018-09-05 7:11 ` kbuild test robot 2018-09-02 12:01 ` [PATCH v7 4/4] gpiolib: Implement fast processing path in get/set array Janusz Krzysztofik [not found] ` <CGME20180920101151eucas1p221f5a1715b8556bb9d99bf08fe09ce6f@eucas1p2.samsung.com> 2018-09-20 10:11 ` Marek Szyprowski 2018-09-20 15:48 ` Janusz Krzysztofik 2018-09-20 16:21 ` Janusz Krzysztofik 2018-09-21 8:18 ` Marek Szyprowski 2018-09-21 10:51 ` Janusz Krzysztofik 2018-09-21 11:26 ` Janusz Krzysztofik 2018-09-21 14:14 ` Marek Szyprowski 2018-09-23 10:43 ` Janusz Krzysztofik 2018-09-23 23:53 ` [PATCH 0/2] gpiolib: Fix issues introduced by fast bitmap processing path Janusz Krzysztofik 2018-09-23 23:53 ` [PATCH 1/2] gpiolib: Fix missing updates of bitmap index Janusz Krzysztofik 2018-09-24 8:11 ` Linus Walleij 2018-09-29 12:20 ` [PATCH] gpiolib: Fix incorrect use of find_next_zero_bit() Janusz Krzysztofik 2018-10-01 6:46 ` Marek Szyprowski 2018-10-01 9:37 ` Linus Walleij 2018-09-23 23:53 ` [PATCH 2/2] gpiolib: Fix array members of same chip processed separately Janusz Krzysztofik 2018-09-24 8:13 ` Linus Walleij 2018-09-24 9:43 ` [PATCH 0/2] gpiolib: Fix issues introduced by fast bitmap processing path Marek Szyprowski 2018-09-24 11:08 ` Janusz Krzysztofik 2018-09-24 11:38 ` Marek Szyprowski 2018-09-24 14:18 ` Janusz Krzysztofik 2018-09-25 19:24 ` [PATCH] mmc: pwrseq_simple: Fix incorrect handling of GPIO bitmap Janusz Krzysztofik 2018-09-26 7:50 ` Linus Walleij 2018-09-26 8:14 ` Marek Szyprowski [not found] ` <7a4906d9-ffb1-f2af-07e7-d5815dcd0d8c@samsung.com> 2018-09-26 8:27 ` Marek Szyprowski 2018-10-12 19:09 ` [RFT PATCH] " Janusz Krzysztofik 2018-10-15 8:32 ` Marek Szyprowski 2018-10-15 10:29 ` Ulf Hansson 2018-10-15 14:27 ` Linus Walleij 2018-09-20 18:05 ` [PATCH v7 4/4] gpiolib: Implement fast processing path in get/set array Dan Carpenter 2018-09-20 15:49 ` Linus Walleij 2018-09-05 21:50 ` [PATCH v8 0/4] gpiolib: speed up GPIO array processing Janusz Krzysztofik 2018-09-05 21:50 ` [PATCH v8 1/4] gpiolib: Pass bitmaps, not integer arrays, to get/set array Janusz Krzysztofik 2018-09-05 21:50 ` [PATCH v8 2/4] gpiolib: Identify arrays matching GPIO hardware Janusz Krzysztofik 2018-09-05 21:50 ` [PATCH v8 3/4] gpiolib: Pass array info to get/set array functions Janusz Krzysztofik 2018-09-05 21:50 ` [PATCH v8 4/4] gpiolib: Implement fast processing path in get/set array Janusz Krzysztofik 2018-09-13 9:22 ` [PATCH v8 0/4] gpiolib: speed up GPIO array processing Linus Walleij 2018-09-19 18:08 ` Linus Walleij 2018-11-21 11:08 ` Subject: [PATCH v4 0/4] mtd: rawnand: ams-delta: Use GPIO API for data I/O Janusz Krzysztofik 2018-11-21 11:08 ` [PATCH v4 1/4] ARM: OMAP1: ams-delta: Provide GPIO lookup table for NAND data port Janusz Krzysztofik 2018-11-23 17:02 ` Tony Lindgren 2018-11-21 11:08 ` [PATCH v4 2/4] mtd: rawnand: ams-delta: Request data port GPIO resource Janusz Krzysztofik 2018-11-21 11:08 ` [PATCH v4 3/4] mtd: rawnand: ams-delta: Use GPIO API for data I/O Janusz Krzysztofik 2018-11-21 14:53 ` Boris Brezillon 2018-11-21 11:08 ` [PATCH v4 4/4] ARM: OMAP1: ams-delta: Drop obsolete NAND resources Janusz Krzysztofik 2018-11-21 14:56 ` Subject: [PATCH v4 0/4] mtd: rawnand: ams-delta: Use GPIO API for data I/O Boris Brezillon 2018-11-23 17:03 ` Tony Lindgren 2018-12-07 8:04 ` Miquel Raynal 2018-12-07 16:10 ` Tony Lindgren
Reply instructions: You may reply publically 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=11711552.OvaP4pOjBH@z50 \ --to=jmkrzyszt@gmail.com \ --cc=aaro.koskinen@iki.fi \ --cc=boris.brezillon@bootlin.com \ --cc=computersforpeace@gmail.com \ --cc=corbet@lwn.net \ --cc=dwmw2@infradead.org \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=marek.vasut@gmail.com \ --cc=miquel.raynal@bootlin.com \ --cc=richard@nod.at \ --cc=tony@atomide.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
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git