Messages in this thread | | | Subject | Re: [PATCH] s390: Hypervisor File System | From | Michael Holzheu <> | Date | Tue, 2 May 2006 12:12:12 +0200 |
| |
Greg KH <greg@kroah.com> wrote on 04/29/2006 09:53:11 AM: > On Fri, Apr 28, 2006 at 11:22:25AM +0200, Michael Holzheu wrote: > > On zSeries machines there exists an interface which allows the operating > > system to retrieve LPAR hypervisor accounting data. For example, it is > > possible to get usage data for physical and virtual cpus. In order to > > provide this information to user space programs, I implemented a new > > virtual Linux file system named 'hypfs' using the Linux 2.6 libfs > > framework. The name 'hypfs' stands for 'Hypervisor Filesystem'. All the > > accounting information is put into different virtual files which can be > > accessed from user space. All data is represented as ASCII strings. > > > > When the file system is mounted the accounting information is retrieved > > and a file system tree is created with the attribute files containing > > the cpu information. The content of the files remains unchanged until a > > new update is made. An update can be triggered from user space through > > writing 'something' into a special purpose update file. > > > > We create the following directory structure: > > > > <mount-point>/ > > update > > cpus/ > > <cpu-id> > > type > > mgmtime > > <cpu-id> > > ... > > hyp/ > > type > > systems/ > > <lpar-name> > > cpus/ > > <cpu-id> > > type > > mgmtime > > cputime > > onlinetime > > <cpu-id> > > ... > > <lpar-name> > > cpus/ > > ... > > > > - update: File to trigger update > > - cpus/: Directory for all physical cpus > > - cpus/<cpu-id>/: Directory for one physical cpu. > > - cpus/<cpu-id>/type: Type name of physical zSeries cpu. > > - cpus/<cpu-id>/mgmtime: Physical-LPAR-management time in microseconds. > > - hyp/: Directory for hypervisor information > > - hyp/type: Typ of hypervisor (currently only 'LPAR Hypervisor') > > - systems/: Directory for all LPARs > > - systems/<lpar-name>/: Directory for one LPAR. > > - systems/<lpar-name>/cpus/<cpu-id>/: Directory for the virtual cpus > > - systems/<lpar-name>/cpus/<cpu-id>/type: Typ of cpu. > > - systems/<lpar-name>/cpus/<cpu-id>/mgmtime: > > Accumulated number of microseconds during which a physical > > CPU was assigned to the logical cpu and the cpu time was > > consumed by the hypervisor and was not provided to > > the LPAR (LPAR overhead). > > > > - systems/<lpar-name>/cpus/<cpu-id>/cputime: > > Accumulated number of microseconds during which a physical CPU > > was assigned to the logical cpu and the cpu time was consumed > > by the LPAR. > > > > - systems/<lpar-name>/cpus/<cpu-id>/onlinetime: > > Accumulated number of microseconds during which the logical CPU > > has been online. > > > > As mount point for the filesystem /sys/hypervisor is created. > > > > The update process is triggered when writing 'something' into the > > 'update' file at the top level hypfs directory. You can do this e.g. > > with 'echo 1 > update'. During the update the whole directory structure > > is deleted and built up again. > > This sounds a lot like configfs. Why not use that instead?
Right! I read the documentation of configfs and looks like configfs is exactly what I need.
To get consistend data the user can do the following:
1. mkdir /config/s390-hypervisor/tmpdir
This creates our directory tree with a snapshot of the hypervisor data.
2. cd tmpdir and read all data
3. rmdir /config/s390-hypervisor/tmpdir
It looks a bit odd to get hypervisor accounting data from /config, but who cares ...
Michael
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |