All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Li Chen <me@linux.beauty>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Li Chen <lchen@ambarella.com>,
	Linux ARM <linux-arm-kernel@lists.infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>, Linux-MM <linux-mm@kvack.org>
Subject: Re: [PATCH 4/4] sample/reserved_mem: Introduce a sample of struct page and dio support to no-map rmem
Date: Mon, 11 Jul 2022 15:28:10 +0200	[thread overview]
Message-ID: <CAK8P3a2Mr0ZMXGDx6htYEbBBtm4mubk-meSASJjPRK1j1O-hEA@mail.gmail.com> (raw)
In-Reply-To: <20220711122459.13773-5-me@linux.beauty>

On Mon, Jul 11, 2022 at 2:24 PM Li Chen <me@linux.beauty> wrote:
>
> From: Li Chen <lchen@ambarella.com>
>
> This sample driver shows how to build struct pages support to no-map rmem.
>
> Signed-off-by: Li Chen <lchen@ambarella.com>

Not sure what a sample driver helps here if there are no actual users in-tree.

It would make more sense to merge the driver that wants to actually use this
first, and then add the additional feature.

> Change-Id: Ie78494fa86fda40ceb73eab3b8ba505d0ad851a1

Please drop these lines, the Change-Id fields are useless in a public
repository.

> +/*
> + * dts example
> + * rmem: rmem@1 {
> + *                     compatible = "shared-dma-pool";
> + *                     no-map;
> + *                     size = <0x0 0x20000000>;
> + *             };
> + * perf {
> + *             compatible = "example,rmem";
> + *             memory-region = <&rmem>;
> + *     };

The problem here is that the DT is meant to describe the platform in an OS
independent way, so having a binding that just corresponds to a user space
interface is not a good abstraction.

> +       vaddr = reserved_mem_memremap_pages(dev, rmem);
> +       if (IS_ERR_OR_NULL(vaddr))
> +               return PTR_ERR(vaddr);

 Using IS_ERR_OR_NULL() is usually an indication of a bad interface.

For the reserved_mem_memremap_pages(), you should decide whether to return
NULL on error or an error pointer, but not both.

       Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Li Chen <me@linux.beauty>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,  Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>,
	 Andrew Morton <akpm@linux-foundation.org>,
	Li Chen <lchen@ambarella.com>,
	 Linux ARM <linux-arm-kernel@lists.infradead.org>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	DTML <devicetree@vger.kernel.org>,  Linux-MM <linux-mm@kvack.org>
Subject: Re: [PATCH 4/4] sample/reserved_mem: Introduce a sample of struct page and dio support to no-map rmem
Date: Mon, 11 Jul 2022 15:28:10 +0200	[thread overview]
Message-ID: <CAK8P3a2Mr0ZMXGDx6htYEbBBtm4mubk-meSASJjPRK1j1O-hEA@mail.gmail.com> (raw)
In-Reply-To: <20220711122459.13773-5-me@linux.beauty>

On Mon, Jul 11, 2022 at 2:24 PM Li Chen <me@linux.beauty> wrote:
>
> From: Li Chen <lchen@ambarella.com>
>
> This sample driver shows how to build struct pages support to no-map rmem.
>
> Signed-off-by: Li Chen <lchen@ambarella.com>

Not sure what a sample driver helps here if there are no actual users in-tree.

It would make more sense to merge the driver that wants to actually use this
first, and then add the additional feature.

> Change-Id: Ie78494fa86fda40ceb73eab3b8ba505d0ad851a1

Please drop these lines, the Change-Id fields are useless in a public
repository.

> +/*
> + * dts example
> + * rmem: rmem@1 {
> + *                     compatible = "shared-dma-pool";
> + *                     no-map;
> + *                     size = <0x0 0x20000000>;
> + *             };
> + * perf {
> + *             compatible = "example,rmem";
> + *             memory-region = <&rmem>;
> + *     };

The problem here is that the DT is meant to describe the platform in an OS
independent way, so having a binding that just corresponds to a user space
interface is not a good abstraction.

> +       vaddr = reserved_mem_memremap_pages(dev, rmem);
> +       if (IS_ERR_OR_NULL(vaddr))
> +               return PTR_ERR(vaddr);

 Using IS_ERR_OR_NULL() is usually an indication of a bad interface.

For the reserved_mem_memremap_pages(), you should decide whether to return
NULL on error or an error pointer, but not both.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-07-11 13:28 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-11 12:24 [PATCH 0/4] add struct page and Direct I/O support to reserved memory Li Chen
2022-07-11 12:24 ` Li Chen
2022-07-11 12:24 ` [PATCH 1/4] of: add struct page support to rmem Li Chen
2022-07-11 12:24   ` Li Chen
2022-07-11 13:36   ` Arnd Bergmann
2022-07-11 13:36     ` Arnd Bergmann
2022-07-11 14:51     ` Li Chen
2022-07-11 14:51       ` Li Chen
2022-07-11 15:06       ` Arnd Bergmann
2022-07-11 15:06         ` Arnd Bergmann
2022-07-12  3:13         ` Li Chen
2022-07-12  3:13           ` Li Chen
2022-07-16  0:38   ` kernel test robot
2022-07-16  0:38     ` kernel test robot
2022-07-11 12:24 ` [PATCH 2/4] mm/sparse: skip no-map memblock check when fill_subsection_map Li Chen
2022-07-11 12:24   ` Li Chen
2022-07-11 14:53   ` David Hildenbrand
2022-07-11 14:53     ` David Hildenbrand
2022-07-12  4:23     ` Li Chen
2022-07-12  4:23       ` Li Chen
2022-07-12  7:31       ` David Hildenbrand
2022-07-12  7:31         ` David Hildenbrand
2022-07-12  9:31         ` Li Chen
2022-07-12  9:31           ` Li Chen
2022-07-14 18:45   ` kernel test robot
2022-07-14 18:45     ` kernel test robot
2022-07-11 12:24 ` [PATCH 3/4] arm64: mm: move memblock_clear_nomap after __add_pages Li Chen
2022-07-11 12:24   ` Li Chen
2022-07-11 12:24 ` [PATCH 4/4] sample/reserved_mem: Introduce a sample of struct page and dio support to no-map rmem Li Chen
2022-07-11 12:24   ` Li Chen
2022-07-11 13:28   ` Arnd Bergmann [this message]
2022-07-11 13:28     ` Arnd Bergmann
2022-07-12  0:26     ` Li Chen
2022-07-12  0:26       ` Li Chen
2022-07-12  7:50       ` Arnd Bergmann
2022-07-12  7:50         ` Arnd Bergmann
2022-07-12  9:58         ` Li Chen
2022-07-12  9:58           ` Li Chen
2022-07-12 10:08           ` Arnd Bergmann
2022-07-12 10:08             ` Arnd Bergmann
2022-07-12 10:20             ` Arnd Bergmann
2022-07-12 10:20               ` Arnd Bergmann
2022-07-12 10:55             ` Li Chen
2022-07-12 10:55               ` Li Chen
2022-07-12 12:10               ` Arnd Bergmann
2022-07-12 12:10                 ` Arnd Bergmann
2022-08-04  7:17         ` Li Chen
2022-08-04  7:17           ` Li Chen
2022-08-04  8:24           ` Arnd Bergmann
2022-08-04  8:24             ` Arnd Bergmann
2022-08-04 10:07             ` Li Chen
2022-08-04 10:07               ` Li Chen
2022-08-05 14:09               ` Arnd Bergmann
2022-08-05 14:09                 ` Arnd Bergmann
2022-08-05 15:28                 ` David Hildenbrand
2022-08-05 15:28                   ` David Hildenbrand
2022-07-11 15:01 ` [PATCH 0/4] add struct page and Direct I/O support to reserved memory Christoph Hellwig
2022-07-11 15:01   ` Christoph Hellwig
2022-07-11 16:05   ` Li Chen
2022-07-11 16:05     ` Li Chen
2022-07-11 16:09     ` Christoph Hellwig
2022-07-11 16:09       ` Christoph Hellwig
2022-07-12  0:14       ` Li Chen
2022-07-12  0:14         ` Li Chen
2022-07-18  9:26 [PATCH 1/4] of: add struct page support to rmem kernel test robot
2022-07-18 13:21 ` Dan Carpenter
2022-07-18 13:21 ` Dan Carpenter
2022-07-18 13:21 ` Dan Carpenter

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=CAK8P3a2Mr0ZMXGDx6htYEbBBtm4mubk-meSASJjPRK1j1O-hEA@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=lchen@ambarella.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=me@linux.beauty \
    --cc=robh+dt@kernel.org \
    --cc=will@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.