All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Scott Wood <scottwood@freescale.com>
Cc: Timur Tabi <timur@freescale.com>,
	kumar.gala@freescale.com, linux-kernel@vger.kernel.org,
	akpm@kernel.org, linux-console@vger.kernel.org, greg@kroah.com,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 7/7] [v2] drivers/misc: introduce Freescale hypervisor management driver
Date: Mon, 6 Jun 2011 17:53:09 +0200	[thread overview]
Message-ID: <201106061753.10154.arnd@arndb.de> (raw)
In-Reply-To: <20110603112213.4f4d1b4e@schlenkerla.am.freescale.net>

On Friday 03 June 2011, Scott Wood wrote:
> On Fri, 3 Jun 2011 17:28:43 +0200
> Arnd Bergmann <arnd@arndb.de> wrote:
> 
> > On Thursday 02 June 2011, Scott Wood wrote:
> > > I wanted to have the hypervisor take an update dtb (we already have special
> > > meta-properties for things like deletion as part of the hv config
> > > mechanism).  But others on the project wanted to keep it simple, and so
> > > get/set property it was. :-/
> > > 
> > > It's unlikely to change at this point without a real need.
> > > 
> > > As for a filesystem interface, it's not a good match either. 
> > > You can't iterate over anything to read out the full tree from the hv.
> > 
> > kexec iterates over /proc/device-tree to create a dts blob.
> 
> That's irrelevant, because we're not talking about that device tree.  We're
> talking about the device tree of another hypervisor guest.

I understand that it's a different device tree. That doesn't mean we
can't use the same tools.

> > > You can't delete anything. 
> > 
> > rm, rmdir
> > 
> > > You can't create empty nodes.
> > 
> > mkdir
> 
> I know how to operate a filesystem.  You can't do these operations *on
> another guest's device tree through the hv interface*.

Why not? From a device driver perspective, it's not much of a difference
whether you export a device (or hypervisor, firmware, ...) setting
as an ioctl or an inode operation.

> > > There would still be other ioctls needed for starting/stopping the
> > > partition, etc.
> > 
> > Right, although you could model them as a file interface as well.
> > KVMfs is one example doing that.
> 
> And what would be the benefit of this major restructuring and added
> complexity?

I think it would be a slightly better abstraction, and the complexity
is not as big as you make it sound. I'm mainly countering your statement
that it would be a bad interface or that would not possible to do.

I'm not that opposed to having an ioctl interface for your hypervisor
interface, but I am opposed to making design choices based on
a bad representations of facts or not having considered the options
that other people suggest.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: Scott Wood <scottwood@freescale.com>
Cc: greg@kroah.com, kumar.gala@freescale.com,
	linux-kernel@vger.kernel.org, akpm@kernel.org,
	linux-console@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	Timur Tabi <timur@freescale.com>
Subject: Re: [PATCH 7/7] [v2] drivers/misc: introduce Freescale hypervisor management driver
Date: Mon, 6 Jun 2011 17:53:09 +0200	[thread overview]
Message-ID: <201106061753.10154.arnd@arndb.de> (raw)
In-Reply-To: <20110603112213.4f4d1b4e@schlenkerla.am.freescale.net>

On Friday 03 June 2011, Scott Wood wrote:
> On Fri, 3 Jun 2011 17:28:43 +0200
> Arnd Bergmann <arnd@arndb.de> wrote:
> 
> > On Thursday 02 June 2011, Scott Wood wrote:
> > > I wanted to have the hypervisor take an update dtb (we already have special
> > > meta-properties for things like deletion as part of the hv config
> > > mechanism).  But others on the project wanted to keep it simple, and so
> > > get/set property it was. :-/
> > > 
> > > It's unlikely to change at this point without a real need.
> > > 
> > > As for a filesystem interface, it's not a good match either. 
> > > You can't iterate over anything to read out the full tree from the hv.
> > 
> > kexec iterates over /proc/device-tree to create a dts blob.
> 
> That's irrelevant, because we're not talking about that device tree.  We're
> talking about the device tree of another hypervisor guest.

I understand that it's a different device tree. That doesn't mean we
can't use the same tools.

> > > You can't delete anything. 
> > 
> > rm, rmdir
> > 
> > > You can't create empty nodes.
> > 
> > mkdir
> 
> I know how to operate a filesystem.  You can't do these operations *on
> another guest's device tree through the hv interface*.

Why not? From a device driver perspective, it's not much of a difference
whether you export a device (or hypervisor, firmware, ...) setting
as an ioctl or an inode operation.

> > > There would still be other ioctls needed for starting/stopping the
> > > partition, etc.
> > 
> > Right, although you could model them as a file interface as well.
> > KVMfs is one example doing that.
> 
> And what would be the benefit of this major restructuring and added
> complexity?

I think it would be a slightly better abstraction, and the complexity
is not as big as you make it sound. I'm mainly countering your statement
that it would be a bad interface or that would not possible to do.

I'm not that opposed to having an ioctl interface for your hypervisor
interface, but I am opposed to making design choices based on
a bad representations of facts or not having considered the options
that other people suggest.

	Arnd

  reply	other threads:[~2011-06-06 15:53 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-01 18:35 [PATCH 7/7] [v2] drivers/misc: introduce Freescale hypervisor management driver Timur Tabi
2011-06-01 18:35 ` Timur Tabi
2011-06-01 19:46 ` Alan Cox
2011-06-01 19:46   ` Alan Cox
2011-06-01 19:46   ` Alan Cox
2011-06-01 20:24   ` Timur Tabi
2011-06-01 20:24     ` Timur Tabi
2011-06-01 20:24     ` Timur Tabi
2011-06-01 20:34     ` Alan Cox
2011-06-01 20:34       ` Alan Cox
2011-06-01 20:34       ` Alan Cox
2011-06-01 20:54   ` Scott Wood
2011-06-01 20:54     ` Scott Wood
2011-06-01 20:54     ` Scott Wood
2011-06-01 21:45     ` Alan Cox
2011-06-01 21:45       ` Alan Cox
2011-06-01 21:45       ` Alan Cox
2011-06-01 21:40 ` Arnd Bergmann
2011-06-01 21:40   ` Arnd Bergmann
2011-06-01 22:24   ` Scott Wood
2011-06-01 22:24     ` Scott Wood
2011-06-01 22:24     ` Scott Wood
2011-06-03 15:28     ` Arnd Bergmann
2011-06-03 15:28       ` Arnd Bergmann
2011-06-03 16:22       ` Scott Wood
2011-06-03 16:22         ` Scott Wood
2011-06-03 16:22         ` Scott Wood
2011-06-06 15:53         ` Arnd Bergmann [this message]
2011-06-06 15:53           ` Arnd Bergmann
2011-06-06 18:15           ` Scott Wood
2011-06-06 18:15             ` Scott Wood
2011-06-06 18:15             ` Scott Wood
2011-06-06 19:48             ` Arnd Bergmann
2011-06-06 19:48               ` Arnd Bergmann
2011-06-02 21:28   ` Timur Tabi
2011-06-02 21:28     ` Timur Tabi
2011-06-02 21:28     ` Timur Tabi
2011-06-03 15:24     ` Arnd Bergmann
2011-06-03 15:24       ` Arnd Bergmann
2011-06-03 15:28       ` Timur Tabi
2011-06-03 15:28         ` Timur Tabi
2011-06-03 15:28         ` Timur Tabi
2011-06-06 15:42         ` Arnd Bergmann
2011-06-06 15:42           ` Arnd Bergmann
2011-06-06 15:48           ` Timur Tabi
2011-06-06 15:48             ` Timur Tabi
2011-06-06 15:48             ` Timur Tabi
2011-06-06 16:03             ` Arnd Bergmann
2011-06-06 16:03               ` Arnd Bergmann
2011-06-06 16:09               ` Timur Tabi
2011-06-06 16:09                 ` Timur Tabi
2011-06-06 16:09                 ` Timur Tabi
2011-06-06 16:24                 ` Arnd Bergmann
2011-06-06 16:24                   ` Arnd Bergmann
2011-06-06 16:27                   ` Timur Tabi
2011-06-06 16:27                     ` Timur Tabi
2011-06-06 16:27                     ` Timur Tabi
2011-06-06 21:01                   ` Chris Metcalf
2011-06-06 21:01                     ` Chris Metcalf
2011-06-06 21:01                     ` Chris Metcalf
2011-06-06 21:23                     ` Konrad Rzeszutek Wilk
2011-06-06 21:23                       ` Konrad Rzeszutek Wilk
2011-06-06 23:04                       ` Chris Metcalf
2011-06-06 23:04                         ` Chris Metcalf
2011-06-06 23:04                         ` Chris Metcalf
2011-06-07  7:08                         ` Arnd Bergmann
2011-06-07  7:08                           ` Arnd Bergmann
2011-06-07 16:49                           ` Chris Metcalf
2011-06-07 16:49                             ` Chris Metcalf
2011-06-07 16:49                             ` Chris Metcalf
2011-06-07 19:16                             ` Arnd Bergmann
2011-06-07 19:16                               ` Arnd Bergmann
2011-06-07 19:20                               ` Timur Tabi
2011-06-07 19:20                                 ` Timur Tabi
2011-06-07 19:20                                 ` Timur Tabi
2011-06-07 19:34                                 ` Arnd Bergmann
2011-06-07 19:34                                   ` Arnd Bergmann
2011-06-03 14:44   ` Timur Tabi
2011-06-03 14:44     ` Timur Tabi
2011-06-03 14:44     ` Timur Tabi
2011-06-03 15:17     ` Arnd Bergmann
2011-06-03 15:17       ` Arnd Bergmann

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=201106061753.10154.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=akpm@kernel.org \
    --cc=greg@kroah.com \
    --cc=kumar.gala@freescale.com \
    --cc=linux-console@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=scottwood@freescale.com \
    --cc=timur@freescale.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 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.