Messages in this thread | | | Date | Sat, 29 Apr 2006 00:53:11 -0700 | From | Greg KH <> | Subject | Re: [PATCH] s390: Hypervisor File System |
| |
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?
Is there a reason that sysfs can't be used for a lot of these things too?
We already have the different cpus in sysfs, why put things in a different location than that?
thanks,
greg k-h - 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/
| |