1. 20 9月, 2006 3 次提交
  2. 12 7月, 2006 1 次提交
  3. 23 6月, 2006 1 次提交
    • M
      [PATCH] s390_hypfs filesystem · 24bbb1fa
      Michael Holzheu 提交于
      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 's390_hypfs' using the Linux 2.6 libfs
      framework.  The name 's390_hypfs' stands for 'S390 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/s390 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.
      
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Ingo Oeser <ioe-lkml@rameria.de>
      Cc: Joern Engel <joern@wohnheim.fh-wedel.de>
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NMichael Holzheu <holzheu@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      24bbb1fa