)]}'
{
  "commit": "1c2499ae87f828eabddf6483b0dfc11da1100c07",
  "tree": "be394bdb6d8bd1732a2635eca62e5b2eca04c07a",
  "parents": [
    "142092e577255e33a4ab74c6baad04c9fb887927"
  ],
  "author": {
    "name": "KOSAKI Motohiro",
    "email": "kosaki.motohiro@jp.fujitsu.com",
    "time": "Wed Sep 22 13:05:06 2010 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Sep 22 17:22:39 2010 -0700"
  },
  "message": "/proc/pid/smaps: fix dirty pages accounting\n\nCurrently, /proc/\u003cpid\u003e/smaps has wrong dirty pages accounting.\nShared_Dirty and Private_Dirty output only pte dirty pages and ignore\nPG_dirty page flag.  It is difference against documentation, but also\ninconsistent against Referenced field.  (Referenced checks both pte and\npage flags)\n\nThis patch fixes it.\n\nTest program:\n\n large-array.c\n ---------------------------------------------------\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n #include \u003cunistd.h\u003e\n\n char array[1*1024*1024*1024L];\n\n int main(void)\n {\n         memset(array, 1, sizeof(array));\n         pause();\n\n         return 0;\n }\n ---------------------------------------------------\n\nTest case:\n 1. run ./large-array\n 2. cat /proc/`pidof large-array`/smaps\n 3. swapoff -a\n 4. cat /proc/`pidof large-array`/smaps again\n\nTest result:\n \u003cbefore patch\u003e\n\n00601000-40601000 rw-p 00000000 00:00 0\nSize:            1048576 kB\nRss:             1048576 kB\nPss:             1048576 kB\nShared_Clean:          0 kB\nShared_Dirty:          0 kB\nPrivate_Clean:    218992 kB   \u003c-- showed pages as clean incorrectly\nPrivate_Dirty:    829584 kB\nReferenced:       388364 kB\nSwap:                  0 kB\nKernelPageSize:        4 kB\nMMUPageSize:           4 kB\n\n \u003cafter patch\u003e\n\n00601000-40601000 rw-p 00000000 00:00 0\nSize:            1048576 kB\nRss:             1048576 kB\nPss:             1048576 kB\nShared_Clean:          0 kB\nShared_Dirty:          0 kB\nPrivate_Clean:         0 kB\nPrivate_Dirty:   1048576 kB  \u003c-- fixed\nReferenced:       388480 kB\nSwap:                  0 kB\nKernelPageSize:        4 kB\nMMUPageSize:           4 kB\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "271afc48b9a5d58dd2874d41f8a08dfcae644481",
      "old_mode": 33188,
      "old_path": "fs/proc/task_mmu.c",
      "new_id": "1dbca4e8cc164d08276d4a1f5a875e7726fc7020",
      "new_mode": 33188,
      "new_path": "fs/proc/task_mmu.c"
    }
  ]
}
