linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Boaz Harrosh <openosd@gmail.com>
To: Dan Williams <dan.j.williams@intel.com>,
	Boaz Harrosh <boaz@plexistor.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>,
	Jens Axboe <axboe@kernel.dk>,
	Matthew Wilcox <matthew.r.wilcox@intel.com>,
	Nick Piggin <npiggin@kernel.dk>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-nvdimm@lists.01.org
Subject: Re: [Linux-nvdimm] [PATCH v2] pmem: Initial version of persistent memory driver
Date: Wed, 10 Sep 2014 16:23:49 +0300	[thread overview]
Message-ID: <541050E5.60502@gmail.com> (raw)
In-Reply-To: <CAPcyv4gZBdtup+DuaYL2zOhP9KcRzDAq6vLih0tbpL+abGQv-g@mail.gmail.com>

On 09/09/2014 07:53 PM, Dan Williams wrote:
> On Tue, Sep 9, 2014 at 9:23 AM, Boaz Harrosh <boaz@plexistor.com> wrote:
<>
> 
> Hmm this looks like a "ACPI/DeviceTree-over-kernel-command-line"
> description language.  I understand that this is borrowed from the
> memmap= precedent, but, if I'm not mistaken, that's really more for
> debug rather than a permanent platform-device descriptor.

So what is bad about that ?

> <strawman>
> Since this looks like firmware why not go ahead and use
> request_firmware() to request a pmem range descriptor blob
</strawman>?

What? God no! How is this a firmware at all. No this is all BUS info, it is
 "where on the bus this device's resource was allocated"

Firmware is static compile time thing common to all of my devices
but this here is where in the bus this was stuck in. What is your
suggestion that I compile a kernel and "make install" it (initrd)
for every DIMM I insert ? since when? and what tool will tell me
what to put there?

>  Given you can compile such a blob into a kernel image  or provide it
> in an initrd I think it makes deployment more straightforward, also
> the descriptor format can be extended going forward 

What ? really Dan I think you got confused. The nn@ss thing is just:
   "what connector I stuck my DIMM disk in (and what other empty slots I have)"

Would you have me compile and install my kernel every time my sdX
number change, or my sata channel moved. I do not think so.

> whereas the
> command line approach mandates ever increasingly complicated strings.

This is the first API, I intend, there is even a TODO in the patchset, to
also have a dynamic sysfs add/remove/grow API for on the fly changes.
All these can be easily driven by a simple udev rule to plug and play them.

Usually in the Kernel, buses do not directly load devices drivers. The
bus driver sends an "event" with a new discovered resource, then user-mode
udev rule will load an associated driver, which will scan for its device or
receive its identification somewhere, that can be the sysfs interface above,
or even commandline.

Farther down the road we might want a Kernel API, through to the DIMM-manager
when each device's ID is Identified to managed volumes of DIMMs. (And what
happens to them if they move in physical addressing), but even with DIMM-manager
I would have gone through a udev-event and pmem-probe because, this way user
mode can add a chain of commands associated with new insertions. So since we
have a DIMM-manager event going on why not have the udev rule load pmem as well
and not have any API. But All this is way down the line.

Regardless of which, commandline API of pmem will always stay as this is for
the pmem emulation as we use it now, in accord with memmap=.
(And it works very nice in our lab with DDR3 NvDIMMs that need an memmap= as well)

We please need to start somewhere, no?

Thanks
Boaz


  reply	other threads:[~2014-09-10 13:23 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-27 21:11 [PATCH 0/4] Add persistent memory driver Ross Zwisler
2014-08-27 21:11 ` [PATCH 1/4] pmem: Initial version of " Ross Zwisler
2014-09-09 16:23   ` [PATCH v2] " Boaz Harrosh
2014-09-09 16:53     ` [Linux-nvdimm] " Dan Williams
2014-09-10 13:23       ` Boaz Harrosh [this message]
2014-09-10 17:03         ` Dan Williams
2014-09-10 17:47           ` Boaz Harrosh
2014-09-10 23:01             ` Dan Williams
2014-09-11 10:45               ` Boaz Harrosh
2014-09-11 16:31                 ` Dan Williams
2014-09-14 11:18                   ` Boaz Harrosh
2014-09-16 13:54                     ` Jeff Moyer
2014-09-16 16:24                       ` Boaz Harrosh
2014-09-19 16:27                       ` Dan Williams
2014-09-21  9:27                         ` Boaz Harrosh
2014-11-02  3:22   ` [PATCH 1/4] " Elliott, Robert (Server Storage)
2014-11-03 15:50     ` Jeff Moyer
2014-11-03 16:19     ` Wilcox, Matthew R
2014-11-04 10:37       ` Boaz Harrosh
2014-11-04 16:26         ` Elliott, Robert (Server Storage)
2014-11-04 16:41           ` Ross Zwisler
2014-11-04 17:06             ` Boaz Harrosh
2014-08-27 21:12 ` [PATCH 2/4] pmem: Add support for getgeo() Ross Zwisler
2014-11-02  3:27   ` Elliott, Robert (Server Storage)
2014-11-03 16:36     ` Wilcox, Matthew R
2014-08-27 21:12 ` [PATCH 3/4] pmem: Add support for rw_page() Ross Zwisler
2014-08-27 21:12 ` [PATCH 4/4] pmem: Add support for direct_access() Ross Zwisler
2014-09-09 15:37 ` [PATCH 0/9] pmem: Fixes and farther development (mm: add_persistent_memory) Boaz Harrosh
2014-09-09 15:40   ` [PATCH 1/9] SQUASHME: pmem: Remove unused #include headers Boaz Harrosh
2014-09-09 22:29     ` Ross Zwisler
2014-09-10 11:36       ` Boaz Harrosh
2014-09-10 19:16       ` [Linux-nvdimm] " Matthew Wilcox
2014-09-11 11:35         ` Boaz Harrosh
2014-09-11 19:34           ` Matthew Wilcox
2014-09-09 15:41   ` [PATCH 2/9] SQUASHME: pmem: Request from fdisk 4k alignment Boaz Harrosh
2014-09-11 18:39     ` Ross Zwisler
2014-09-14 11:25       ` Boaz Harrosh
2014-09-09 15:43   ` [PATCH 3/9] SQUASHME: pmem: Let each device manage private memory region Boaz Harrosh
2014-09-11 20:35     ` Ross Zwisler
2014-09-09 15:44   ` [PATCH 4/9] SQUASHME: pmem: Support of multiple memory regions Boaz Harrosh
2014-09-09 15:45   ` [PATCH 5/9] mm: Let sparse_{add,remove}_one_section receive a node_id Boaz Harrosh
2014-09-09 18:36     ` Dave Hansen
2014-09-10 10:07       ` Boaz Harrosh
2014-09-10 16:10         ` Dave Hansen
2014-09-10 17:25           ` Boaz Harrosh
2014-09-10 18:28             ` Dave Hansen
2014-09-11  8:39               ` Boaz Harrosh
2014-09-11 17:07                 ` Dave Hansen
2014-09-14  9:36                   ` Boaz Harrosh
2014-09-09 15:47   ` [PATCH 6/9] mm: New add_persistent_memory/remove_persistent_memory Boaz Harrosh
2014-09-09 15:48   ` [PATCH 7/9] pmem: Add support for page structs Boaz Harrosh
2014-09-09 15:49   ` [PATCH 8/9] SQUASHME: pmem: Fixs to getgeo Boaz Harrosh
2014-09-09 15:51   ` [PATCH 9/9] pmem: KISS, remove register_blkdev Boaz Harrosh
2014-09-10 16:50   ` [PATCH] SQUASHME pmem: Micro optimization for pmem_direct_access Boaz Harrosh
2014-09-10 22:32     ` Ross Zwisler
2014-09-11 11:42       ` Boaz Harrosh
2014-09-14 14:58     ` [PATCH v2] SQUASHME pmem: Micro optimize the hotpath Boaz Harrosh
2014-09-14 16:02       ` [PATCH] SQUASHME: pmem: no need to copy a page at a time Boaz Harrosh
2014-09-15  0:23         ` Wilcox, Matthew R
2014-09-15  8:47           ` Boaz Harrosh
2014-09-10 17:50   ` [PATCH] SQUASHME: pmem: Add MODULE_ALIAS Boaz Harrosh
2014-09-10 19:22     ` Ross Zwisler
2014-09-11 11:44       ` Boaz Harrosh

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=541050E5.60502@gmail.com \
    --to=openosd@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=boaz@plexistor.com \
    --cc=dan.j.williams@intel.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=matthew.r.wilcox@intel.com \
    --cc=npiggin@kernel.dk \
    --cc=ross.zwisler@linux.intel.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).