1. 23 Sep, 2016 1 commit
  2. 27 Apr, 2016 1 commit
  3. 24 Dec, 2015 1 commit
  4. 26 Sep, 2014 1 commit
  5. 23 Jun, 2014 1 commit
  6. 03 Jul, 2013 1 commit
  7. 26 Nov, 2012 1 commit
  8. 01 Sep, 2012 1 commit
    • Jesper Juhl's avatar
      doc: getdelays.c: remember to close() socket on error in create_nl_socket() · 0de4b954
      Jesper Juhl authored
      If the call to setsockopt() fails in
      Documentation/accounting/getdelays.c::create_nl_socket() we return -1
      without closing the socket, thus leaking it when the 'fd' variable
      goes out of scope.
      
      Easily fixed by just jumping to the 'error' label instead of returning
      since we do the proper cleanup there.
      
      While I was there I noticed that the error message that is printet if
      setsockopt() fails was broken over two lines - put that on a single
      line so it is easier to grep for.
      Signed-off-by: 's avatarJesper Juhl <jj@chaosbits.net>
      Signed-off-by: 's avatarJiri Kosina <jkosina@suse.cz>
      0de4b954
  9. 16 Jun, 2011 1 commit
  10. 27 May, 2011 3 commits
  11. 23 Dec, 2010 1 commit
    • Jeff Mahoney's avatar
      taskstats: pad taskstats netlink response for aligment issues on ia64 · 4be2c95d
      Jeff Mahoney authored
      The taskstats structure is internally aligned on 8 byte boundaries but the
      layout of the aggregrate reply, with two NLA headers and the pid (each 4
      bytes), actually force the entire structure to be unaligned.  This causes
      the kernel to issue unaligned access warnings on some architectures like
      ia64.  Unfortunately, some software out there doesn't properly unroll the
      NLA packet and assumes that the start of the taskstats structure will
      always be 20 bytes from the start of the netlink payload.  Aligning the
      start of the taskstats structure breaks this software, which we don't
      want.  So, for now the alignment only happens on architectures that
      require it and those users will have to update to fixed versions of those
      packages.  Space is reserved in the packet only when needed.  This ifdef
      should be removed in several years e.g.  2012 once we can be confident
      that fixed versions are installed on most systems.  We add the padding
      before the aggregate since the aggregate is already a defined type.
      
      Commit 85893120 ("delayacct: align to 8 byte boundary on 64-bit systems")
      previously addressed the alignment issues by padding out the pid field.
      This was supposed to be a compatible change but the circumstances
      described above mean that it wasn't.  This patch backs out that change,
      since it was a hack, and introduces a new NULL attribute type to provide
      the padding.  Padding the response with 4 bytes avoids allocating an
      aligned taskstats structure and copying it back.  Since the structure
      weighs in at 328 bytes, it's too big to do it on the stack.
      Signed-off-by: 's avatarJeff Mahoney <jeffm@suse.com>
      Reported-by: 's avatarBrian Rogers <brian@xyzw.org>
      Cc: Jeff Mahoney <jeffm@suse.com>
      Cc: Guillaume Chazarain <guichaz@gmail.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      4be2c95d
  12. 28 Oct, 2010 1 commit
    • Mel Gorman's avatar
      delay-accounting: reimplement -c for getdelays.c to report information on a target command · db9e5679
      Mel Gorman authored
      Task delay-accounting was identified as one means of determining how long
      a process spends in congestion_wait() without adding new statistics.  For
      example, if the workload should not be doing IO, delay-accounting could
      reveal how long it was spending in unexpected IO or delays.
      Unfortunately, on closer examination it was clear that getdelays does not
      act as documented.
      
      Commit a3baf649 ("per-task-delay-accounting: documentation") added
      Documentation/accounting/getdelays.c with a -c switch that was documented
      to fork/exec a child and report statistics on it but for reasons that are
      unclear to me, commit 9e06d3f9 deleted support for this switch but did not
      update the documentation.  It might be an oversight or it might be because
      the control flow of the program meant that accounting information would be
      printed once early in the lifetime of the program making it of limited
      use.
      
      This patch reimplements -c for getdelays.c to act as documented.  Unlike
      the original version, it waits until the command completes before printing
      any information on it.  An example of it being used looks like
      
      $ ./getdelays -d -c find /home/mel -name mel
      print delayacct stats ON
      /home/mel
      /home/mel/.notes-wine/drive_c/windows/profiles/mel
      /home/mel/.wine/drive_c/windows/profiles/mel
      /home/mel/git-configs/dot.kde/share/apps/konqueror/home/mel
      PID	5923
      
      CPU             count     real total  virtual total    delay total
                      42779     5051232096     5164722692      564207988
      IO              count    delay total
                      41727    97804147758
      SWAP            count    delay total
                          0              0
      RECLAIM         count    delay total
                          0              0
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: 's avatarMel Gorman <mel@csn.ul.ie>
      Acked-by: 's avatarBalbir Singh <balbir@in.ibm.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      db9e5679
  13. 23 Sep, 2009 1 commit
  14. 17 Jun, 2009 1 commit
  15. 16 Jan, 2009 1 commit
  16. 30 Oct, 2008 1 commit
  17. 12 Aug, 2008 2 commits
    • Randy Dunlap's avatar
      docsrc: fix getdelays printk formats · 66659313
      Randy Dunlap authored
      Fix printf format type warnings (seen on alpha & ia64):
      
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 6 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 7 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 8 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 9 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 12 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 13 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 16 has type '__u64'
      Documentation/accounting/getdelays.c:206: warning: format '%15llu' expects type 'long long unsigned int', but argument 17 has type '__u64'
      Documentation/accounting/getdelays.c:214: warning: format '%15llu' expects type 'long long unsigned int', but argument 4 has type '__u64'
      Documentation/accounting/getdelays.c:214: warning: format '%15llu' expects type 'long long unsigned int', but argument 5 has type '__u64'
      Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 2 has type '__u64'
      Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type '__u64'
      Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type '__u64'
      Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 5 has type '__u64'
      Documentation/accounting/getdelays.c:221: warning: format '%llu' expects type 'long long unsigned int', but argument 6 has type '__u64'
      Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function
      Signed-off-by: 's avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      66659313
    • Randy Dunlap's avatar
      docsrc: build Documentation/ sources · 3794f3e8
      Randy Dunlap authored
      Currently source files in the Documentation/ sub-dir can easily bit-rot
      since they are not generally buildable, either because they are hidden in
      text files or because there are no Makefile rules for them.  This needs to
      be fixed so that the source files remain usable and good examples of code
      instead of bad examples.
      
      Add the ability to build source files that are in the Documentation/ dir.
      Add to Kconfig as "BUILD_DOCSRC" config symbol.
      
      Use "CONFIG_BUILD_DOCSRC=1 make ..." to build objects from the
      Documentation/ sources.  Or enable BUILD_DOCSRC in the *config system.
      However, this symbol depends on HEADERS_CHECK since the header files need
      to be installed (for userspace builds).
      
      Built (using cross-tools) for x86-64, i386, alpha, ia64, sparc32,
      sparc64, powerpc, sh, m68k, & mips.
      Signed-off-by: 's avatarRandy Dunlap <randy.dunlap@oracle.com>
      Reviewed-by: 's avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      3794f3e8
  18. 26 Jul, 2008 1 commit
  19. 25 Jul, 2008 2 commits
  20. 04 Jul, 2008 1 commit
  21. 08 Feb, 2008 1 commit
    • Randy Dunlap's avatar
      getdelays: fix gcc warnings · 10e6f32b
      Randy Dunlap authored
      Fix gcc warnings in getdelays.c:
      
      Documentation/accounting/getdelays.c: In function 'task_context_switch_counts':
      Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 4 has type '__u64'
      Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 5 has type '__u64'
      Documentation/accounting/getdelays.c: In function 'main':
      Documentation/accounting/getdelays.c:402: warning: format '%d' expects type 'int', but argument 2 has type 'long unsigned int'
      Documentation/accounting/getdelays.c: In function 'get_family_id':
      Documentation/accounting/getdelays.c:171: warning: 'id' may be used uninitialized in this function
      
      One warning is not a problem and can be dismissed:
      Documentation/accounting/getdelays.c: In function 'main':
      Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function
      Signed-off-by: 's avatarRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: 's avatarBalbir Singh <balbir@linux.vnet.ibm.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      10e6f32b
  22. 15 Nov, 2007 1 commit
  23. 19 Oct, 2007 1 commit
    • Balbir Singh's avatar
      Add cgroupstats · 846c7bb0
      Balbir Singh authored
      This patch is inspired by the discussion at
      http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics
      as suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.  The
      patch is on top of 2.6.21-mm1 with Paul's cgroups v9 patches (forward
      ported)
      
      This patch implements per cgroup statistics infrastructure and re-uses
      code from the taskstats interface.  A new set of cgroup operations are
      registered with commands and attributes.  It should be very easy to
      *extend* per cgroup statistics, by adding members to the cgroupstats
      structure.
      
      The current model for cgroupstats is a pull, a push model (to post
      statistics on interesting events), should be very easy to add.  Currently
      user space requests for statistics by passing the cgroup file
      descriptor.  Statistics about the state of all the tasks in the cgroup
      is returned to user space.
      
      TODO's/NOTE:
      
      This patch provides an infrastructure for implementing cgroup statistics.
      Based on the needs of each controller, we can incrementally add more statistics,
      event based support for notification of statistics, accumulation of taskstats
      into cgroup statistics in the future.
      
      Sample output
      
      # ./cgroupstats -C /cgroup/a
      sleeping 2, blocked 0, running 1, stopped 0, uninterruptible 0
      
      # ./cgroupstats -C /cgroup/
      sleeping 154, blocked 0, running 0, stopped 0, uninterruptible 0
      
      If the approach looks good, I'll enhance and post the user space utility for
      the same
      
      Feedback, comments, test results are always welcome!
      
      [akpm@linux-foundation.org: build fix]
      Signed-off-by: 's avatarBalbir Singh <balbir@linux.vnet.ibm.com>
      Cc: Paul Menage <menage@google.com>
      Cc: Jay Lan <jlan@engr.sgi.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      846c7bb0
  24. 17 Oct, 2007 1 commit
  25. 23 Aug, 2007 1 commit
  26. 16 Jul, 2007 1 commit
    • Maxim Uvarov's avatar
      taskstats: add context-switch counters · b663a79c
      Maxim Uvarov authored
      Make available to the user the following task and process performance
      statistics:
      
      	* Involuntary Context Switches (task_struct->nivcsw)
      	* Voluntary Context Switches (task_struct->nvcsw)
      
      Statistics information is available from:
      	1. taskstats interface (Documentation/accounting/)
      	2. /proc/PID/status (task only).
      
      This data is useful for detecting hyperactivity patterns between processes.
      
      [akpm@linux-foundation.org: cleanup]
      Signed-off-by: 's avatarMaxim Uvarov <muvarov@ru.mvista.com>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Jay Lan <jlan@engr.sgi.com>
      Cc: Jonathan Lim <jlim@sgi.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      b663a79c
  27. 08 May, 2007 2 commits
  28. 10 Dec, 2006 2 commits
    • Andrew Morton's avatar
      [PATCH] io-accounting: add to getdelays · cf709844
      Andrew Morton authored
      Wire up the IO accounting into getdelays.c.
      
      Usage:
      
      To display I/O stats for each exitting task:
      
      vmm:/home/akpm> ./getdelays -m0,1,2,3 -i -l
      cpumask 0 maskset 1
      printing IO accounting
      listen forever
      rm: read=8192, write=0, cancelled_write=0
      cvs: read=733184, write=4255744, cancelled_write=4096
      make: read=217088, write=0, cancelled_write=0
      cc1: read=4263936, write=12288, cancelled_write=0
      as: read=811008, write=8192, cancelled_write=0
      gcc: read=323584, write=0, cancelled_write=12288
      cc1: read=0, write=8192, cancelled_write=0
      as: read=4096, write=4096, cancelled_write=0
      gcc: read=16384, write=0, cancelled_write=4096
      as: read=4096, write=4096, cancelled_write=0
      gcc: read=16384, write=0, cancelled_write=8192
      ld: read=1011712, write=16384, cancelled_write=0
      collect2: read=626688, write=0, cancelled_write=0
      gcc: read=204800, write=0, cancelled_write=0
      cc1: read=0, write=8192, cancelled_write=0
      as: read=4096, write=4096, cancelled_write=0
      gcc: read=16384, write=0, cancelled_write=8192
      ld: read=8192, write=16384, cancelled_write=0
      collect2: read=49152, write=0, cancelled_write=0
      gcc: read=0, write=0, cancelled_write=0
      cc1: read=0, write=4096, cancelled_write=0
      ld: read=4096, write=12288, cancelled_write=0
      collect2: read=49152, write=0, cancelled_write=0
      gcc: read=0, write=0, cancelled_write=0
      
      To display I/O stats for a particular presently-running task:
      
      vmm:/home/akpm> ./getdelays -i -p $(pidof crond)
      printing IO accounting
      crond: read=61440, write=0, cancelled_write=0
      
      Cc: Jay Lan <jlan@sgi.com>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Chris Sturtivant <csturtiv@sgi.com>
      Cc: Tony Ernst <tee@sgi.com>
      Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
      Cc: David Wright <daw@sgi.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@osdl.org>
      cf709844
    • Andrew Morton's avatar
      [PATCH] getdelays: various fixes · d2f7bf13
      Andrew Morton authored
      - Various cleanups
      
      - Report errors to stderr, not stdout
      
      - A printf was missing a \n and was hiding from me.
      
      Cc: Jay Lan <jlan@sgi.com>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Chris Sturtivant <csturtiv@sgi.com>
      Cc: Tony Ernst <tee@sgi.com>
      Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
      Cc: David Wright <daw@sgi.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@osdl.org>
      d2f7bf13
  29. 30 Nov, 2006 2 commits
  30. 03 Nov, 2006 1 commit
  31. 01 Oct, 2006 2 commits
    • Jay Lan's avatar
      [PATCH] csa accounting taskstats update · db5fed26
      Jay Lan authored
      ChangeLog:
         Feedbacks from Andrew Morton:
         - define TS_COMM_LEN to 32
         - change acct_stimexpd field of task_struct to be of
           cputime_t, which is to be used to save the tsk->stime
           of last timer interrupt update.
         - a new Documentation/accounting/taskstats-struct.txt
           to describe fields of taskstats struct.
      
         Feedback from Balbir Singh:
         - keep the stime of a task to be zero when both stime
           and utime are zero as recoreded in task_struct.
      
         Misc:
         - convert accumulated RSS/VM from platform dependent
           pages-ticks to MBytes-usecs in the kernel
      
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Jes Sorensen <jes@sgi.com>
      Cc: Chris Sturtivant <csturtiv@sgi.com>
      Cc: Tony Ernst <tee@sgi.com>
      Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
      Signed-off-by: 's avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@osdl.org>
      db5fed26
    • Balbir Singh's avatar
      [PATCH] Fix getdelays.c - cpumask length and error reporting · 7d1bdca9
      Balbir Singh authored
      Fix the length passed while (un)registering cpumask.  We were passing sizeof
      the array, make it strlen().
      
      Error value printed in fatal errors should be derived from the message.  The
      message contains an nlmsgerr embedded with an error value.  We must report
      that value to the user.
      Signed-off-by: 's avatarBalbir Singh <balbir@in.ibm.com>
      Cc: Jamal Hadi <hadi@cyberus.ca>
      Cc: Shailabh Nagar <nagar@watson.ibm.com>
      Cc: Thomas Graf <tgraf@suug.ch>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jay Lan <jlan@engr.sgi.com>
      Signed-off-by: 's avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@osdl.org>
      7d1bdca9
  32. 31 Jul, 2006 1 commit