)]}'
{
  "log": [
    {
      "commit": "fae8b22d3e3e3a3d317a7746493997af02a3f35c",
      "tree": "871aa91c51d713d7842ba1eb8661bde54d102842",
      "parents": [
        "32346f47dd46bed291464e194a6c47da6fdd1bc3"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Oct 22 12:52:39 2007 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Oct 22 12:52:47 2007 +0200"
      },
      "message": "[S390] Add per-cpu idle time / idle count sysfs attributes.\n\nAdd two new sysfs entries per cpu: idle_count and idle_time.\nidle_count contains the number of times a cpu went into idle state.\nidle_time contains the time a cpu spent in idle state in microseconds.\nThis can be used e.g. by powertop to tell how often idle state is\nentered and left.\n\n# cat /sys/devices/system/cpu/cpu0/idle_count\n504\n# cat /sys/devices/system/cpu/cpu0/idle_time\n469734037 us\n\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "efea90a454c6bf95d489878ea366d5dff03f3fb7",
      "tree": "9eba629ea4325d67bca7e42d3fc46c346477c106",
      "parents": [
        "2fb59d623ad85dfdb8ce03a660051743f7361896",
        "d4b1d27368314ac79ae28082a0eb17b4c526bd14"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 21 09:57:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 21 09:57:55 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6\n\n* \u0027for-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:\n  Blackfin arch: update boards files\n  Blackfin arch: dma add some API and cleanup bf54x DMA definition\n  Blackfin arch: cleanup and promote the general purpose timers api to a core blackfin component\n  Blackfin arch: add a cheesy install target\n  Blackfin arch: add functions for converting between sclks and usecs\n  Blackfin arch: add assembly function for doing 64bit unsigned division\n  Blackfin arch: -mno-fdpic works\n  Blackfin arch: use \"char bfin_board_name[]\" rather than \"char *bfin_board_name\" per discussion on lkml as the former uses less storage\n  Blackfin arch: Fixing Bug: balance calls to get_task_mm with corresponding mmput calls\n  Blackfin serial driver Kconfig: depend on DMA not being enabled rather than a specific DMA size\n  Blackfin arch: Fix bug: missing CHIPID register field definition of BF54x\n  Blackfin arch: Fix up /proc/cpuinfo so it is like everyone else\n  Blackfin arch: Optimization - no need to make additional math here\n  Blackfin arch: force irq_flags into the .data section\n  Blackfin arch BF548 defconfig: enable watchdog by default\n  Blackfin arch: add new processor ADSP-BF52x arch/mach support\n"
    },
    {
      "commit": "452af71f36685c932a5cce540a48c1818df6533f",
      "tree": "c466051e5be2b193c6fe41afc5335011dce1f6ea",
      "parents": [
        "780431e397c82df7e20ee17536b97a08f97ef8ba"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Mon Oct 22 00:02:14 2007 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Mon Oct 22 00:02:14 2007 +0800"
      },
      "message": "Blackfin arch: dma add some API and cleanup bf54x DMA definition\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\n\n"
    },
    {
      "commit": "780431e397c82df7e20ee17536b97a08f97ef8ba",
      "tree": "0a119b440b3a20665a25ed89227c6ac5058571ba",
      "parents": [
        "29cae113720c1520cdcc8b536cf56efcba5d63e0"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "michael.frysinger@analog.com",
        "time": "Sun Oct 21 23:37:54 2007 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun Oct 21 23:37:54 2007 +0800"
      },
      "message": "Blackfin arch: cleanup and promote the general purpose timers api to a core blackfin component\n\nSigned-off-by: Mike Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\n\n"
    },
    {
      "commit": "2f6cf7bfc64c44d760d53caf4b547e7729392e78",
      "tree": "ecbd135d50cfc35f505f386cfbc9206b0e8cdfba",
      "parents": [
        "b0a68dc07ec395d44849ce98eb417713ca333410"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "michael.frysinger@analog.com",
        "time": "Sun Oct 21 22:59:49 2007 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun Oct 21 22:59:49 2007 +0800"
      },
      "message": "Blackfin arch: add functions for converting between sclks and usecs\n\nSigned-off-by: Mike Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\n\n"
    },
    {
      "commit": "066954a3891d32198edad3b319792d8db6a6a575",
      "tree": "7c6e6b66e319f655d1601ee854a6abfee66eb902",
      "parents": [
        "c1e7399da76646f34c3857147cca649cd58745af"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "michael.frysinger@analog.com",
        "time": "Sun Oct 21 22:36:06 2007 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun Oct 21 22:36:06 2007 +0800"
      },
      "message": "Blackfin arch: use \"char bfin_board_name[]\" rather than \"char *bfin_board_name\" per discussion on lkml as the former uses less storage\n\nSigned-off-by: Mike Frysinger \u003cmichael.frysinger@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\n\n"
    },
    {
      "commit": "1e5b24431b58d821502bb56e67af3e74854feaf2",
      "tree": "b2b6d8d19172e35dce6b508f01da671150cf9e20",
      "parents": [
        "73b0c0b0c1fa06acc3a02a58f301b0db0818d3d0"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun Oct 21 16:58:49 2007 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun Oct 21 16:58:49 2007 +0800"
      },
      "message": "Blackfin arch: Fix bug: missing CHIPID register field definition of BF54x\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\n\n"
    },
    {
      "commit": "590031450a52c373bf72f5fb156fbcc0c78c6f2c",
      "tree": "0e631bc6e8af9422635535459aaaf10fdddab357",
      "parents": [
        "cfa76f024f7c9e65169425804e5b32e71f66d0ee"
      ],
      "author": {
        "name": "Michael Hennerich",
        "email": "michael.hennerich@analog.com",
        "time": "Sun Oct 21 16:54:27 2007 +0800"
      },
      "committer": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Sun Oct 21 16:54:27 2007 +0800"
      },
      "message": "Blackfin arch: add new processor ADSP-BF52x arch/mach support\n\nSigned-off-by: Michael Hennerich \u003cmichael.hennerich@analog.com\u003e\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\n\n"
    },
    {
      "commit": "74c3cbe33bc077ac1159cadfea608b501e100344",
      "tree": "4c4023caa4e15d19780255fa5880df3d36eb292c",
      "parents": [
        "455434d450a358ac5bcf3fc58f8913d13c544622"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 08:04:18 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:45 2007 -0400"
      },
      "message": "[PATCH] audit: watching subtrees\n\nNew kind of audit rule predicates: \"object is visible in given subtree\".\nThe part that can be sanely implemented, that is.  Limitations:\n\t* if you have hardlink from outside of tree, you\u0027d better watch\nit too (or just watch the object itself, obviously)\n\t* if you mount something under a watched tree, tell audit\nthat new chunk should be added to watched subtrees\n\t* if you umount something in a watched tree and it\u0027s still mounted\nelsewhere, you will get matches on events happening there.  New command\ntells audit to recalculate the trees, trimming such sources of false\npositives.\n\nNote that it\u0027s _not_ about path - if something mounted in several places\n(multiple mount, bindings, different namespaces, etc.), the match does\n_not_ depend on which one we are using for access.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "455434d450a358ac5bcf3fc58f8913d13c544622",
      "tree": "78cf10eabc7ed50a0b84da6b8c84c4313ea1f170",
      "parents": [
        "b9efe8a234ad874a049460417c54680338f96360"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 12:22:59 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:38 2007 -0400"
      },
      "message": "[PATCH] new helper - inotify_evict_watch()\n\nKicks the watch out without dropping it.  Called under -\u003einotify_mutex\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b9efe8a234ad874a049460417c54680338f96360",
      "tree": "bf058a173388d825bbc74225fe08f87ad27adcdc",
      "parents": [
        "8aec08094570562bc305df33b088926d983c3540"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 12:21:44 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:32 2007 -0400"
      },
      "message": "[PATCH] new helper - inotify_clone_watch()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8aec08094570562bc305df33b088926d983c3540",
      "tree": "399f4590f81428d1f72d754d336da13c449120f9",
      "parents": [
        "5a190ae69766da9a34bf31200c5cea4c0667cf94"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 12:20:32 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:25 2007 -0400"
      },
      "message": "[PATCH] new helpers - collect_mounts() and release_collected_mounts()\n\nGet a snapshot of a subtree, creating private clones of vfsmounts\nfor all its components and release such snapshot resp.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5a190ae69766da9a34bf31200c5cea4c0667cf94",
      "tree": "340c500fe42518abe6d1159a00619b1bd02f07fc",
      "parents": [
        "cfa76f024f7c9e65169425804e5b32e71f66d0ee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 07 12:19:32 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Oct 21 02:37:18 2007 -0400"
      },
      "message": "[PATCH] pass dentry to audit_inode()/audit_inode_child()\n\nmakes caller simpler *and* allows to scan ancestors\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cfa76f024f7c9e65169425804e5b32e71f66d0ee",
      "tree": "ee64e98cbfb1b654842c9256446a9584857f6730",
      "parents": [
        "093faa1dd26fc6766f8f04c429030757a8a0def4",
        "7210c678202bb3107085bffeb63f66a9b8ba1c85"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Oct 20 20:19:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Oct 20 20:19:15 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6\n\n* \u0027master\u0027 of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (29 commits)\n  [PARISC] fix uninitialized variable warning in asm/rtc.h\n  [PARISC] Port checkstack.pl to parisc\n  [PARISC] Make palo target work when $obj !\u003d $src\n  [PARISC] Zap unused variable warnings in pci.c\n  [PARISC] Fix tests in palo target\n  [PARISC] Fix palo target\n  [PARISC] Restore palo target\n  [PARISC] Attempt to clean up parisc/Makefile\n  [PARISC] Fix infinite loop in /proc/iomem\n  [PARISC] Quiet sysfs_create_link __must_check warnings in pdc_stable\n  [PARISC] Squelch pci_enable_device __must_check warning in superio\n  [PARISC] Kill off broken irqstack code\n  [PARISC] Remove hardcoded uses of PAGE_SIZE\n  [PARISC] Clean up pointless ASM_PAGE_SIZE_DIV use\n  [PARISC] Kill off the last vestiges of ASM_PAGE_SIZE\n  [PARISC] Kill off ASM_PAGE_SIZE use\n  [PARISC] Beautify parisc vmlinux.lds.S\n  [PARISC] Clean up a resource_size_t warning in sba_iommu\n  [PARISC] Kill incorrect cast warning in unwinder\n  [PARISC] Kill zone_to_nid printk warning\n  ...\n\nFixed trivial conflict in include/asm-parisc/tlbflush.h manually\n"
    },
    {
      "commit": "7210c678202bb3107085bffeb63f66a9b8ba1c85",
      "tree": "522752089cb90b8aa6fc92d9c82caca8b7946810",
      "parents": [
        "562d139cc587fc7f7fb8e07aad13cdd2a412c9a7"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@shortfin.cabal.ca",
        "time": "Sat Oct 20 13:23:00 2007 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@shortfin.cabal.ca",
        "time": "Sat Oct 20 13:23:00 2007 -0700"
      },
      "message": "[PARISC] fix uninitialized variable warning in asm/rtc.h\n\nget_rtc_time, in the case that PDC returns that the battery is bad, returns\nan unmodified rtc_time arg to the caller, which then uses uninitialized\nvalues. Fix this by memset-ing the arg with zeroes, so it will at least be\ncleared if we return failure.\n\nSpotted by John David Anglin.\n\nSigned-off-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\n"
    },
    {
      "commit": "c00046c279a2521075250fad682ca0acc10d4fd7",
      "tree": "78a7e9089c26f199ad9b0161bb564b7c1ca6daf9",
      "parents": [
        "9abbf7d028b1598b40ebdc81c48f30da7f3d5bf5",
        "8e8a1407ac23b43cec0412338c1b4f5e1c664550"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 20:36:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 20:36:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (74 commits)\n  fix do_sys_open() prototype\n  sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake\n  Documentation: Fix typo in SubmitChecklist.\n  Typo: depricated -\u003e deprecated\n  Add missing profile\u003dkvm option to Documentation/kernel-parameters.txt\n  fix typo about TBI in e1000 comment\n  proc.txt: Add /proc/stat field\n  small documentation fixes\n  Fix compiler warning in smount example program from sharedsubtree.txt\n  docs/sysfs: add missing word to sysfs attribute explanation\n  documentation/ext3: grammar fixes\n  Documentation/java.txt: typo and grammar fixes\n  Documentation/filesystems/vfs.txt: typo fix\n  include/asm-*/system.h: remove unused set_rmb(), set_wmb() macros\n  trivial copy_data_pages() tidy up\n  Fix typo in arch/x86/kernel/tsc_32.c\n  file link fix for Pegasus USB net driver help\n  remove unused return within void return function\n  Typo fixes retrun -\u003e return\n  x86 hpet.h: remove broken links\n  ...\n"
    },
    {
      "commit": "5f737085beea3a5c5b6f44a16e6d3e2fd03095e0",
      "tree": "218643043a16f9af32b2b1037ddbb3ecd271c779",
      "parents": [
        "e9a404580ccaeb31dd2a976f9929c4f9eb6f3540",
        "276d789e1794560d7ce53a7f2687415e2a80bb8a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 19:36:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 19:36:05 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (50 commits)\n  ide: remove inclusion of non-existent io_trace.h\n  ide-disk: add get_smart_data() helper\n  ide: fix -\u003edata_phase in taskfile_load_raw()\n  ide: check drive-\u003eusing_dma in flagged_taskfile()\n  ide: check -\u003edma_setup() return value in flagged_taskfile()\n  dtc2278: note on docs\n  qd65xx: remove pointless qd_{read,write}_reg() (take 2)\n  ide: PCI BMDMA initialization fixes (take 2)\n  ide: remove stale comments from ide-taskfile.c\n  ide: remove dead code from ide_driveid_update()\n  ide: use __ide_end_request() in ide_end_dequeued_request()\n  ide: enhance ide_setup_pci_noise()\n  cs5530: remove needless ide_lock taking\n  ide: take ide_lock for prefetch disable/enable in do_special()\n  ht6560b: fix deadlock on error handling\n  cmd640: fix deadlock on error handling\n  slc90e66: fix deadlock on error handling\n  opti621: fix deadlock on error handling\n  qd65xx: fix deadlock on error handling\n  dtc2278: fix deadlock on error handling\n  ...\n"
    },
    {
      "commit": "8e8a1407ac23b43cec0412338c1b4f5e1c664550",
      "tree": "0efed870d299e7f031df4bd75788c13ab00ac246",
      "parents": [
        "3932bf60590064dbd1d5bc6f19faf4469e964082"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "juhlenko@akamai.com",
        "time": "Sat Oct 20 03:16:18 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 03:16:18 2007 +0200"
      },
      "message": "fix do_sys_open() prototype\n\nFix an argument name in do_sys_open()\u0027s prototype.\n\nSigned-off-by: Jason Uhlenkott \u003cjuhlenko@akamai.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "405bbe9fa345050f46c411d77727f381d74a2ba8",
      "tree": "5e7b4d8e55d6008fbe7ab0594319bb37b5c6dc6c",
      "parents": [
        "c0fe2e6964bea897d059fd1680a53cf131546f20"
      ],
      "author": {
        "name": "Rolf Eike Beer",
        "email": "eike-kernel@sf-tec.de",
        "time": "Sat Oct 20 03:10:57 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 03:10:57 2007 +0200"
      },
      "message": "Typo: depricated -\u003e deprecated\n\nTypo: depricated -\u003e deprecated\n\nSigned-off-by: Rolf Eike Beer \u003ceike-kernel@sf-tec.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "7a8c3d3b92883798e4ead21dd48c16db0ec0ff6f",
      "tree": "21a25dc6bd6afa11430e1ab8d997a4b1c0b960f0",
      "parents": [
        "51e5b2bd34ded40ef48cade8a6a8f1baa0b4275e"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:48:01 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:26 2007 +0100"
      },
      "message": "dm: uevent generate events\n\nThis patch adds support for the dm_path_event dm_send_event functions which\ncreate and send udev events.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "96a1f7dba6e464155c0d1dc69c6c2efa96b644ac",
      "tree": "8051a11c07624c9e5f9b049273462c307c447624",
      "parents": [
        "aa5617c55357d86c9082ba1d66fa9795370c9954"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Oct 19 22:47:59 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:01:23 2007 +0100"
      },
      "message": "dm: export name and uuid\n\nThis patch adds a function to obtain a copy of a mapped device\u0027s name and uuid.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "027d50f92ea26fd065aeb141ebfcbbbe010825e3",
      "tree": "e02900d49590ece0e43e21b006c39de08b1178be",
      "parents": [
        "c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade"
      ],
      "author": {
        "name": "Milan Broz",
        "email": "mbroz@redhat.com",
        "time": "Fri Oct 19 22:38:36 2007 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Sat Oct 20 02:00:58 2007 +0100"
      },
      "message": "dm io:ctl use constant struct size\n\nMake size of dm_ioctl struct always 312 bytes on all supported\narchitectures.\n\nThis change retains compatibility with already-compiled code because\nit uses an embedded offset to locate the payload that follows the\nstructure.\n\nOn 64-bit architectures there is no change at all; on 32-bit\nwe are increasing the size of dm-ioctl from 308 to 312 bytes.\n\nCurrently with 32-bit userspace / 64-bit kernel on x86_64\nsome ioctls (including rename, message) are incorrectly rejected\nby the comparison against \u0027param + 1\u0027.  This breaks userspace\nlvrename and multipath \u0027fail_if_no_path\u0027 changes, for example.\n\n(BTW Device-mapper uses its own versioning and ignores the ioctl\nsize bits.  Only the generic ioctl compat code on mixed arches\nchecks them, and that will continue to accept both sizes for now,\nbut we intend to list 308 as deprecated and eventually remove it.)\n\nSigned-off-by: Milan Broz \u003cmbroz@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Guido Guenther \u003cagx@sigxcpu.org\u003e\nCc: Kevin Corry \u003ckevcorry@us.ibm.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "b2fff3f1b52989dae8dfc76d0a093967c3b75d06",
      "tree": "e0704d9d0143f6a9562643bb8f7702b539fbfd57",
      "parents": [
        "df7c487250b17aa0caeee7d85f120330f1d31355"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Oct 20 02:30:47 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 02:30:47 2007 +0200"
      },
      "message": "include/asm-*/system.h: remove unused set_rmb(), set_wmb() macros\n\nThese don\u0027t appear anywhere else in the kernel anymore.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "88a9b03775cbd5124c91f350b89c0dfb9d6550eb",
      "tree": "f439b2b86531335f95e383587a64f80ec8ef5688",
      "parents": [
        "507a6a8c9bd5ba6edfdbcf4a4fd03ec0fe6ac26a"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Sat Oct 20 02:04:48 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 02:04:48 2007 +0200"
      },
      "message": "x86 hpet.h: remove broken links\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "6da34bae29f51c35b300d89c1bbfe96cdf44d4d5",
      "tree": "f89fe161a27bdd010c6016b54e9104730169c85f",
      "parents": [
        "118e78d1cd7023c3b155f861072ba10df0265fda"
      ],
      "author": {
        "name": "Serge Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Sat Oct 20 00:53:30 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 00:53:30 2007 +0200"
      },
      "message": "fix up security_socket_getpeersec_* documentation\n\nUpdate the security_socket_peersec documentation in\ninclude/linux/security.h.  security_socket_peersec has been split\ninto two functions - _stream and _dgram, with new capabilities.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "568e0c1119d7ff33fbcddc0dec9e2c799a53352d",
      "tree": "fea28b6bf1b3980f7a23d1bf721056f87636ac60",
      "parents": [
        "9aa5e993fa0f1a8c2c900bdfb80697d77b6dc223"
      ],
      "author": {
        "name": "Julio M. Merino Vidal",
        "email": "jmerino@ac.upc.edu",
        "time": "Sat Oct 20 00:36:33 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sat Oct 20 00:36:33 2007 +0200"
      },
      "message": "powerpc: Remove obsolete prototype\n\nThe include/asm-powerpc/paca.h file has a prototype for a function that\ndoes not exist any more; its name is setup_boot_paca.  This function was\nremoved in commit 4ba99b97dadd35b9ce1438b2bc7c992a4a14a8b1, so its\nprototype should have been removed at that time too.\n\nSigned-off-by: Julio M. Merino Vidal \u003cjmerino@ac.upc.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "8562043606430185cad26d085d46adcc7ad67fd1",
      "tree": "efcc9159a230eb62d023d38c465249ddaa252cc6",
      "parents": [
        "039788e1532368eeca1071a873c14e03920cdf38"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:34 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:34 2007 +0200"
      },
      "message": "ide: constify struct ide_port_info\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "039788e1532368eeca1071a873c14e03920cdf38",
      "tree": "b12c736f5e6c96aebdca38155fe93c1ab377cda4",
      "parents": [
        "6157332edabdf77ccae2a033b53bbc9ae1d70ede"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:34 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:34 2007 +0200"
      },
      "message": "ide: replace ide_pci_device_t by struct ide_port_info\n\n* Rename struct ide_pci_device_s to struct ide_port_info.\n\n* Remove ide_pci_device_t typedef.\n\nWhile at it:\n\n* Fix __ide_pci_register_driver() comment.\n\n* Fix aec62xx_init_one() comment.\n\n* Remove unused \u0027cds\u0027 field from ide_hwgroup_t.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "9239b333939dd1e5b1a9f033a1c136273d58efe8",
      "tree": "c7eb49e04a549ea709cd98ddf6df66a091a062d6",
      "parents": [
        "18e181fe13b7340194d09e6dd7f571a5f96f0367"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:33 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:33 2007 +0200"
      },
      "message": "ide: remove write-only hwif-\u003ehw\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "18e181fe13b7340194d09e6dd7f571a5f96f0367",
      "tree": "be2a8ab3e86f297f27249225f7c27bde372c8d0e",
      "parents": [
        "86f3a492bb09eee5745b93af35f2212179c251fd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:32 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:32 2007 +0200"
      },
      "message": "ide: add hwif-\u003eack_intr hook\n\n* Add hwif-\u003eack_intr hook and use it instead of hwif-\u003ehw.ack_intr.\n\n* Add missing brackets to cris-v32 and powerpc ide_ack_intr() macros.\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "86f3a492bb09eee5745b93af35f2212179c251fd",
      "tree": "45d0f4725943fe0d0f16d44db3e643ce1f4d4553",
      "parents": [
        "8f173b5bf460a85791c131e774dc992f8cd578c1"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:32 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:32 2007 +0200"
      },
      "message": "icside: use ec-\u003edma directly\n\n* hwif-\u003ehwif_data contains pointer to struct expansion_card so use ec-\u003edma\n  directly instead of caching it in hwif-\u003ehw.dma.\n\n* Remove no longer needed hw_regs_t.dma and NO_DMA define.\n\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "847ddd2bbe15c6e452606503b5d073826aaaddb7",
      "tree": "2a395984d5c82d718dc6d99b1132340be453482b",
      "parents": [
        "f9b93097375761930c52b3a20acd374a8d012fbc"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:32 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:32 2007 +0200"
      },
      "message": "ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT\n\nAdd CONFIG_IDE_ARCH_OBSOLETE_INIT to drivers/ide/Kconfig and use it instead\nof defining IDE_ARCH_OBSOLETE_INIT in \u003carch/ide.h\u003e.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f9b93097375761930c52b3a20acd374a8d012fbc",
      "tree": "14f9c8d183cb275e02f282e745d4dcfd3dd9cb79",
      "parents": [
        "baa8f3e94bc7a7ba3650d80b67d54c3e08365dee"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "message": "ide: remove redundant comments from ide.h\n\nThere is better documentation for these functions in drivers/ide/.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "baa8f3e94bc7a7ba3650d80b67d54c3e08365dee",
      "tree": "caabf63904cd62f758535e16dcc4676ba3ae5095",
      "parents": [
        "8447d9d52adbe4c653482bd0d5ccb9b5d26f9c9d"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "message": "ide: add ide_find_port() helper\n\n* Add ide_find_port() helper.\n\n* Convert icside, rapide and ide_platform host drivers to use it.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8447d9d52adbe4c653482bd0d5ccb9b5d26f9c9d",
      "tree": "358aa3ca6b0657623b84e7c6278f90fc95a32879",
      "parents": [
        "fd9bb53942a7ca3398a63f2c238afd8fbed3ec0e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "message": "ide: add ide_device_add()\n\n* Add ide_device_add() helper and convert host drivers to use it\n  instead of open-coded variants.\n\n* Make ide_pci_setup_ports() and do_ide_setup_pci_device()\n  take \u0027u8 *idx\u0027 argument instead of \u0027ata_index_t *index\u0027.\n\n* Remove no longer needed ata_index_t.\n\n* Unexport probe_hwif_init() and make it static.\n\n* Unexport ide_proc_register_port().\n\nThere should be no functionality changes caused by this patch\n(sgiioc4.c: ide_proc_register_port() requires hwif-\u003epresent\n to be set and it won\u0027t be set if probe_hwif_init() fails).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "fd9bb53942a7ca3398a63f2c238afd8fbed3ec0e",
      "tree": "eab9592f5bcbee89e0fdf9661e40a92d629d0a32",
      "parents": [
        "438c470261036db25bfae15235ba99812e3dc763"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:31 2007 +0200"
      },
      "message": "ide: add -\u003efixup method to ide_hwif_t\n\n* Add -\u003efixup method to ide_hwif_t.\n\n* Set hwif-\u003efixup in ide_pci_setup_ports() to d-\u003efixup.\n\n* Use hwif-\u003efixup in probe_hwif().\n\n* Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in\n  ide_setup_pci_device().\n\n* Add \u0027fixup\u0027 argument to ide_register_hw() and use it to set hwif-\u003efixup,\n  update all ide_register_hw() users accordingly.\n\n* Convert ide-cs/delkin_cb host drivers to use ide_register_hw().\n\n* Restore hwif-\u003efixup in ide_hwif_restore().\n\n* Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup()\n  and \u0027fixup\u0027 argument from probe_hwif().\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "caea7602f309cbd55ba609800fd3c3e5d19ab684",
      "tree": "fbf1fab750452317a1a38f9ec38b18ad6b1323c3",
      "parents": [
        "272a370900e5d2ae84662338397bb7b2375ff5cf"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flags\n\nAdd IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flag to tell ide_pci_setup_ports()\nto set drive-\u003e{io_32bit,unmask} for both drives on the interface.  Convert\namd74xx, sl82c105 and via82cxxx host drivers to use these new host flags.\n\nWhile at it:\n\n* Add IDE_HFLAGS_AMD define (amd74xx host driver).\n\n* Add IDE_HFLAGS_VIA define (via82cxxx host driver).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "272a370900e5d2ae84662338397bb7b2375ff5cf",
      "tree": "cb3fa16d92e7a48108956948425f7ed4f69ae5e4",
      "parents": [
        "8acf28c090f0e5e049f56b27bdd7cf1fb40c6b98"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_RQSIZE_256 host flag\n\nAdd IDE_HFLAG_RQSIZE_256 host flag to tell ide_pci_setup_ports() to set\nhwif-\u003erqsize to 256 sectors.  Convert pdc202xx_old host driver to use it.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "8acf28c090f0e5e049f56b27bdd7cf1fb40c6b98",
      "tree": "cbf910b986d423d030c5917515b3c68368aed70f",
      "parents": [
        "528a572daea90aa41db92683e5a8756acef514c4"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "message": "ide: add IDE_HFLAG_FORCE_LEGACY_IRQS host flag\n\nAdd IDE_HFLAG_FORCE_LEGACY_IRQS host flag to tell ide_pci_setup_ports()\nto always set hwif-\u003eirq to legacy IRQ 14/15 and convert generic IDE PCI\nand via82cxxx host drivers to use it.\n\nWhile at it:\n\n* Add IDE_HFLAGS_UMC define (generic IDE PCI host driver).\n\n* Remove no longer needed init_hwif_generic() (generic IDE PCI host driver).\n\n* Set d-\u003eudma_mask instead of hwif-\u003eultra_mask (via82cxxx host driver).\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "528a572daea90aa41db92683e5a8756acef514c4",
      "tree": "95e616ff7b3a60d90d04b69eb21b8e262627e0b5",
      "parents": [
        "44a59ad59f4285ce91e61f05e65a3e8fd0943c85"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:30 2007 +0200"
      },
      "message": "ide: add -\u003echipset field to ide_pci_device_t\n\nAdd -\u003echipset field to ide_pci_device_t and use it in ide_hwif_configure()\nto set hwif-\u003echipset.  Convert cmd64x, cy82c693, rz1000 and trm290 host\ndrivers to use this new ability.\n\nWhile at it define hwif_chipset_t as u8 to save some space in hw_regs_t,\nide_hwif_t and ide_pci_device_t instances.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "44a59ad59f4285ce91e61f05e65a3e8fd0943c85",
      "tree": "fa0c021f2f684283b099aa2c7e8a540c41edaa52",
      "parents": [
        "9601a607cceb3632cde6c66fe28a3673dcd20be5"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:29 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sat Oct 20 00:32:29 2007 +0200"
      },
      "message": "ide: remove unused -\u003enext field from ide_pci_device_t\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "60812a4a99b796d894d2522dc63cb0fafc3be25e",
      "tree": "bbf3a441b71e3b9b670d91652094114852272db8",
      "parents": [
        "b04cde34cf1d006dfaf8523640f3a18bbb15ebaa",
        "92cb7612aee39642d109b8d935ad265e602c0563"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 15:06:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 15:06:00 2007 -0700"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86\n\n* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (33 commits)\n  x86: convert cpuinfo_x86 array to a per_cpu array\n  x86: introduce frame_pointer() and stack_pointer()\n  x86 \u0026 generic: change to __builtin_prefetch()\n  i386: do not BUG_ON() when MSR is unknown\n  x86: acpi use cpu_physical_id\n  x86: convert cpu_llc_id to be a per cpu variable\n  x86: convert cpu_to_apicid to be a per cpu variable\n  i386: introduce \"used_vectors\" bitmap which can be used to reserve vectors.\n  x86: use raw locks during oopses\n  x86: honor _PAGE_PSE bit on page walks\n  i386: do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE.\n  x86: implement missing x86_64 function smp_call_function_mask()\n  x86: use descriptor\u0027s functions instead of inline assembly\n  i386: consolidate show_regs and show_registers for i386\n  i386: make callgraph use dump_trace() on i386/x86_64\n  x86: enable iommu_merge by default\n  i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h\n  x86: Unify i386 and x86-64 early quirks\n  x86: enable HPET on ICH3 and ICH4\n  x86: force enable HPET on VT8235/8237 chipsets\n  ...\n\nManually fix trivial conflict with task pid container helper changes in\narch/x86/kernel/process_32.c\n"
    },
    {
      "commit": "b04cde34cf1d006dfaf8523640f3a18bbb15ebaa",
      "tree": "a811f7a6db0de11f6c412548dfe081a57aba0451",
      "parents": [
        "4800be295c34268fd3211d49828bfaa6bf62867f",
        "603c83da19cf42d0f94022ac2fa389a431e32b84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 14:31:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 14:31:42 2007 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/pub/linux/nfs-2.6\n\n* git://git.linux-nfs.org/pub/linux/nfs-2.6:\n  NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c\n  NFSv4: Ensure that we wait for the CLOSE request to complete\n  NFS: Fix a race in sillyrename\n  NFS: Fix a writeback race...\n"
    },
    {
      "commit": "c03983ac9b268d4bbb8c2600baba5798aefa9d5d",
      "tree": "09c351d4c6174a7b7ed3357d391ff839143160c4",
      "parents": [
        "db955170d40601d9925f01712782fbe3ce362b7e"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Fri Oct 19 23:22:55 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:22:55 2007 +0200"
      },
      "message": "Spelling fix: explicitly\n\nFrom: Jean Delvare \u003ckhali@linux-fr.org\u003e\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "96de0e252cedffad61b3cb5e05662c591898e69a",
      "tree": "e3eb7d3e65ec27d39e1da13a17f6f0f91b28f5e9",
      "parents": [
        "3f5b98a2a0cba3351f96fcaa6d79aa1a0d93ee78"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:21:04 2007 +0200"
      },
      "message": "Convert files to UTF-8 and some cleanups\n\n* Convert files to UTF-8.\n\n  * Also correct some people\u0027s names\n    (one example is Eißfeldt, which was found in a source file.\n    Given that the author used an ß at all in a source file\n    indicates that the real name has in fact a \u0027ß\u0027 and not an \u0027ss\u0027,\n    which is commonly used as a substitute for \u0027ß\u0027 when limited to\n    7bit.)\n\n  * Correct town names (Goettingen -\u003e Göttingen)\n\n  * Update Eberhard Mönkeberg\u0027s address (http://lkml.org/lkml/2007/1/8/313)\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "565277f63c616e11c37309a1e98c052d18ebbb55",
      "tree": "60fdddc5a1c97df696392e47ead71d33d39e487f",
      "parents": [
        "61e930a904966cc37e0a3404276f0b73037e57ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 15 18:17:53 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Oct 19 17:19:16 2007 -0400"
      },
      "message": "NFS: Fix a race in sillyrename\n\nlookup() and sillyrename() can race one another because the sillyrename()\ncompletion cannot take the parent directory\u0027s inode-\u003ei_mutex since the\nlatter may be held by whoever is calling dput().\n\nWe therefore have little option but to add extra locking to ensure that\nnfs_lookup() and nfs_atomic_open() do not race with the sillyrename\ncompletion.\nIf somebody has looked up the sillyrenamed file in the meantime, we just\ntransfer the sillydelete information to the new dentry.\n\nPlease refer to the bug-report at\n\thttp://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d150\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3a4fa0a25da81600ea0bcd75692ae8ca6050d165",
      "tree": "a4de1662e645c029cf3cf58f0646cbb1959861dc",
      "parents": [
        "18735dd8d2d37031b97f9e9e106acbaed01eb896"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:10:43 2007 +0200"
      },
      "message": "Fix misspellings of \"system\", \"controller\", \"interrupt\" and \"necessary\".\n\nFix the various misspellings of \"system\", controller\", \"interrupt\" and\n\"[un]necessary\".\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "18735dd8d2d37031b97f9e9e106acbaed01eb896",
      "tree": "838d89ddd8f000b7d06ea7ac83319b45db8c8536",
      "parents": [
        "991d17403c24421614ca74d2a1cae8878f3097c9"
      ],
      "author": {
        "name": "John Anthony Kazos Jr",
        "email": "jakj@j-a-k-j.com",
        "time": "Fri Oct 19 23:07:36 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 19 23:07:36 2007 +0200"
      },
      "message": "crypto: convert crypto.h to UTF-8\n\nConvert the encoding of \u003cinclude/linux/crypto.h\u003e from ISO-8859-1 to UTF-8.\n\nSigned-off-by: John Anthony Kazos Jr. \u003cjakj@j-a-k-j.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "c4ec20717313daafba59225f812db89595952b83",
      "tree": "253337453b1dc965c40668e4949337ed1c46cab7",
      "parents": [
        "ec2626815bf9a9922e49820b03e670e833f3ca3c",
        "00a2b433557f10736e8a02de619b3e9052556c12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 13:12:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 13:12:46 2007 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (41 commits)\n  ACPICA: hw: Don\u0027t carry spinlock over suspend\n  ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write}\n  ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle\n  ACPI: clean up acpi_enter_sleep_state_prep\n  Hibernation: Make sure that ACPI is enabled in acpi_hibernation_finish\n  ACPI: suppress uninitialized var warning\n  cpuidle: consolidate 2.6.22 cpuidle branch into one patch\n  ACPI: thinkpad-acpi: skip blanks before the data when parsing sysfs\n  ACPI: AC: Add sysfs interface\n  ACPI: SBS: Add sysfs alarm\n  ACPI: SBS: Add ACPI_PROCFS around procfs handling code.\n  ACPI: SBS: Add support for power_supply class (and sysfs)\n  ACPI: SBS: Make SBS reads table-driven.\n  ACPI: SBS: Simplify data structures in SBS\n  ACPI: SBS: Split host controller (ACPI0001) from SBS driver (ACPI0002)\n  ACPI: EC: Add new query handler to list head.\n  ACPI: Add acpi_bus_generate_event4() function\n  ACPI: Battery: add sysfs alarm\n  ACPI: Battery: Add sysfs support\n  ACPI: Battery: Misc clean-ups, no functional changes\n  ...\n\nFix up conflicts in drivers/misc/thinkpad_acpi.[ch] manually\n"
    },
    {
      "commit": "0a4908e19fd016d60403fc76cf38b2d08d21e2d2",
      "tree": "f8f33a474bfb9835625677c76735fb27fe0a2b75",
      "parents": [
        "2843483d2eb02ad104edbe8b2429fb6a39d25063",
        "6f75aaa72af19d3e4d144e13d59e71f51686b77f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 12:01:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 12:01:22 2007 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  [MIPS] Delete totally outdated Documentation/mips/time.README\n  [MIPS] Kill duplicated setup_irq() for cp0 timer\n  [MIPS] Sibyte: Finish conversion to modern time APIs.\n  [MIPS] time: Helpers to compute clocksource/event shift and mult values.\n  [MIPS] SMTC: Build fix.\n  [MIPS] time: Delete dead code.\n  [MIPS] MIPSsim: Strip defconfig file to the bones.\n"
    },
    {
      "commit": "31155bc03e35a8d2b2551bc2eea3da5791e1b776",
      "tree": "64a82cd692af1dc3672d311f5788e2dc6a56e546",
      "parents": [
        "267c4025f2e198a4e551556a6db31a554ca51814"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Oct 18 23:41:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:55 2007 -0700"
      },
      "message": "Linux Kernel Markers - Samples\n\nModule example showing how to use the Linux Kernel Markers.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8256e47cdc8923e9959eb1d7f95d80da538add80",
      "tree": "4702aa3ad7c9025f70314f1146e551b4e1dfcbb2",
      "parents": [
        "09cadedbdc01f1a4bea1f427d4fb4642eaa19da9"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Thu Oct 18 23:41:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:54 2007 -0700"
      },
      "message": "Linux Kernel Markers\n\nThe marker activation functions sits in kernel/marker.c.  A hash table is used\nto keep track of the registered probes and armed markers, so the markers\nwithin a newly loaded module that should be active can be activated at module\nload time.\n\nmarker_query has been removed. marker_get_first, marker_get_next and\nmarker_release should be used as iterators on the markers.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nAcked-by: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Mike Mason \u003cmmlnx@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68318b8e0b61f98f0be833cc862ab6dee69348b4",
      "tree": "cb48f82c73ff2204754ff3d5955a0073ca38c383",
      "parents": [
        "fb391599f2eaf22197e3e914187c957ef7eeb4c5"
      ],
      "author": {
        "name": "Srivatsa Vaddagiri",
        "email": "vatsa@linux.vnet.ibm.com",
        "time": "Thu Oct 18 23:41:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:51 2007 -0700"
      },
      "message": "Hook up group scheduler with control groups\n\nEnable \"cgroup\" (formerly containers) based fair group scheduling.  This\nwill let administrator create arbitrary groups of tasks (using \"cgroup\"\npseudo filesystem) and control their cpu bandwidth usage.\n\n[akpm@linux-foundation.org: fix cpp condition]\nSigned-off-by: Srivatsa Vaddagiri \u003cvatsa@linux.vnet.ibm.com\u003e\nSigned-off-by: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb3808532eeb1719667356157fac9222ccb2c4ff",
      "tree": "b86a8de1706db7e4b8968ddb587aa812d8da8084",
      "parents": [
        "5c3391f9f749023a49c64d607da4fb49263690eb"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Thu Oct 18 23:41:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:50 2007 -0700"
      },
      "message": "Use extended crashkernel command line on ia64\n\nThis patch adapts IA64 to use the generic parse_crashkernel() function instead\nof its own parsing for the crashkernel command line.\n\nBecause the total amount of System RAM must be known when calling this\nfunction, efi_memmap_init() is modified to return its accumulated total_memory\nvariable.\n\nAlso, the crashkernel handling is moved in an own function in\narch/ia64/kernel/setup.c to make the code more readable.\n\n[kamalesh@linux.vnet.ibm.com: build fix]\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cba63c3089fe57bfafff56239a67ac26bfe027a0",
      "tree": "a247f3b0352e29e9da5cc07e840b28b5e27ba2e4",
      "parents": [
        "283bb7fada7e33a759d8fc9bd7a44532e4ad420e"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Thu Oct 18 23:40:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:49 2007 -0700"
      },
      "message": "Extended crashkernel command line\n\nThis patch adds a extended crashkernel syntax that makes the value of reserved\nsystem RAM dependent on the system RAM itself:\n\n    crashkernel\u003d\u003crange1\u003e:\u003csize1\u003e[,\u003crange2\u003e:\u003csize2\u003e,...][@offset]\n    range\u003dstart-[end]\n\nFor example:\n\n    crashkernel\u003d512M-2G:64M,2G-:128M\n\nThe motivation comes from distributors that configure their crashkernel\ncommand line automatically with some configuration tool (YaST, you know ;)).\nOf course that tool knows the value of System RAM, but if the user removes\nRAM, then the system becomes unbootable or at least unusable and error\nhandling is very difficult.\n\nThis series implements this change for i386, x86_64, ia64, ppc64 and sh.  That\nshould be all platforms that support kdump in current mainline.  I tested all\nplatforms except sh due to the lack of a sh processor.\n\nThis patch:\n\nThis is the generic part of the patch.  It adds a parse_crashkernel() function\nin kernel/kexec.c that is called by the architecture specific code that\nactually reserves the memory.  That function takes the whole command line and\nlooks itself for \"crashkernel\u003d\" in it.\n\nIf there are multiple occurrences, then the last one is taken.  The advantage\nis that if you have a bootloader like lilo or elilo which allows you to append\na command line parameter but not to remove one (like in GRUB), then you can\nadd another crashkernel value for testing at the boot command line and this\none overwrites the command line in the configuration then.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ac88a41ff747b8c2f290f86b5243b2f8fce2cc0",
      "tree": "a0a87ebb1b5cac9da1a2cee05475139b16a8dbc6",
      "parents": [
        "c530c6ac7eb1d4ae1ff6b382d9211be446ee82c6"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@openvz.org",
        "time": "Thu Oct 18 23:40:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:48 2007 -0700"
      },
      "message": "virtualization of sysv msg queues is incomplete\n\nVirtualization of sysv msg queues is incomplete: msg_hdrs and msg_bytes\nvariables visible from userspace are global.  Let\u0027s make them\nper-namespace.\n\nSigned-off-by: Alexey Kuznetsov \u003calexey@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ca7e564e049d8b350ec9d958ff25eaa24226352",
      "tree": "e3c1397dc898dbd7c685c6a052425e7346eb79d1",
      "parents": [
        "d2b20b11547cefc89d6c81937e81afaf3c62808b"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Thu Oct 18 23:40:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "ipc: store ipcs into IDRs\n\nThis patch introduces ipcs storage into IDRs. The main changes are:\n  . This ipc_ids structure is changed: the entries array is changed into a\n    root idr structure.\n  . The grow_ary() routine is removed: it is not needed anymore when adding\n    an ipc structure, since we are now using the IDR facility.\n  . The ipc_rmid() routine interface is changed:\n       . there is no need for this routine to return the pointer passed in as\n         argument: it is now declared as a void\n       . since the id is now part of the kern_ipc_perm structure, no need to\n         have it as an argument to the routine\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "470fd646444c65a5d062a371f5ec8dcedee61239",
      "tree": "59b923486d4a95efa07c4b2ad7cb0b1fcc3f3c88",
      "parents": [
        "bd89aabc6761de1c35b154fe6f914a445d301510"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Thu Oct 18 23:40:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:44 2007 -0700"
      },
      "message": "hotplug cpu: migrate a task within its cpuset\n\nWhen a cpu is disabled, move_task_off_dead_cpu() is called for tasks that have\nbeen running on that cpu.\n\nCurrently, such a task is migrated:\n 1) to any cpu on the same node as the disabled cpu, which is both online\n    and among that task\u0027s cpus_allowed\n 2) to any cpu which is both online and among that task\u0027s cpus_allowed\n\nIt is typical of a multithreaded application running on a large NUMA system to\nhave its tasks confined to a cpuset so as to cluster them near the memory that\nthey share.  Furthermore, it is typical to explicitly place such a task on a\nspecific cpu in that cpuset.  And in that case the task\u0027s cpus_allowed\nincludes only a single cpu.\n\nThis patch would insert a preference to migrate such a task to some cpu within\nits cpuset (and set its cpus_allowed to its entire cpuset).\n\nWith this patch, migrate the task to:\n 1) to any cpu on the same node as the disabled cpu, which is both online\n    and among that task\u0027s cpus_allowed\n 2) to any online cpu within the task\u0027s cpuset\n 3) to any cpu which is both online and among that task\u0027s cpus_allowed\n\nIn order to do this, move_task_off_dead_cpu() must make a call to\ncpuset_cpus_allowed_locked(), a new subset of cpuset_cpus_allowed(), that will\nnot block.  (name change - per Oleg\u0027s suggestion)\n\nCalls are made to cpuset_lock() and cpuset_unlock() in migration_call() to set\nthe cpuset mutex during the whole migrate_live_tasks() and\nmigrate_dead_tasks() procedure.\n\n[akpm@linux-foundation.org: build fix]\n[pj@sgi.com: Fix indentation and spacing]\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a2e70572e94e21e7ec4186702d045415422bda0",
      "tree": "a6cd54dc559cbf6840dac4077f507a961486e21b",
      "parents": [
        "270f722d4d5f94b02fd48eed47e57917ab00a858"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Isolate the explicit usage of signal-\u003epgrp\n\nThe pgrp field is not used widely around the kernel so it is now marked as\ndeprecated with appropriate comment.\n\nThe initialization of INIT_SIGNALS is trimmed because\na) they are set to 0 automatically;\nb) gcc cannot properly initialize two anonymous (the second one\n   is the one with the session) unions. In this particular case\n   to make it compile we\u0027d have to add some field initialized\n   right before the .pgrp.\n\nThis is the same patch as the 1ec320afdc9552c92191d5f89fcd1ebe588334ca one\n(from Cedric), but for the pgrp field.\n\nSome progress report:\n\nWe have to deprecate the pid, tgid, session and pgrp fields on struct\ntask_struct and struct signal_struct.  The session and pgrp are already\ndeprecated.  The tgid value is close to being such - the worst known usage\nin in fs/locks.c and audit code.  The pid field deprecation is mainly\nblocked by numerous printk-s around the kernel that print the tsk-\u003epid to\nlog.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14ed9d23aa9acd79210a92ac561a728b42a8e281",
      "tree": "2a8aca939e4f4376b26485b518d55d152dd45e48",
      "parents": [
        "1cafc30f43696e8b1b6f7ef4fed354cb3e3af2e6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "remove BITS_TO_TYPE macro\n\nremove BITS_TO_TYPE macro\n\nI realized, that it is actually the same as DIV_ROUND_UP, use it instead.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93043ece030af58529e3e1367502461d265ab4e2",
      "tree": "48add1b72e3ebd07866089c88ad6122422f1da55",
      "parents": [
        "7b19ada2ed3c1eccb9fe94d74b05e1428224663d"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:35 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "define global BIT macro\n\ndefine global BIT macro\n\nmove all local BIT defines to the new globally define macro.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Kumar Gala \u003cgalak@gate.crashing.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b19ada2ed3c1eccb9fe94d74b05e1428224663d",
      "tree": "a0c5975ce5236ff4023b92d431bd0a8fa321c6ce",
      "parents": [
        "d05be13bcc6ec615fb2e9556a9b85d52800669b6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "get rid of input BIT* duplicate defines\n\nget rid of input BIT* duplicate defines\n\nuse newly global defined macros for input layer. Also remove includes of\ninput.h from non-input sources only for BIT macro definiton. Define the\nmacro temporarily in local manner, all those local definitons will be\nremoved further in this patchset (to not break bisecting).\nBIT macro will be globally defined (1\u003c\u003cx)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cdtor@mail.ru\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: \u003clenb@kernel.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: \u003cperex@suse.cz\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: \u003cvernux@us.ibm.com\u003e\nCc: \u003cmalattia@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d05be13bcc6ec615fb2e9556a9b85d52800669b6",
      "tree": "e75cee7b28e2a22d94f29fdd44746ea14f4fc6b8",
      "parents": [
        "5159f40742508e03aed4273a9b3ef06f4e71929f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "define first set of BIT* macros\n\ndefine first set of BIT* macros\n\n- move BITOP_MASK and BITOP_WORD from asm-generic/bitops/atomic.h to\n  include/linux/bitops.h and rename it to BIT_MASK and BIT_WORD\n- move BITS_TO_LONGS and BITS_PER_BYTE to bitops.h too and allow easily\n  define another BITS_TO_something (e.g. in event.c) by BITS_TO_TYPE macro\nRemaining (and common) BIT macro will be defined after all occurences and\nconflicts will be sorted out in the patches.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0624517d809b1cf53c977335c9bda4c216cbddee",
      "tree": "5791430160f4423cab3c6085baed815e10c421f7",
      "parents": [
        "1977f032722c27ee3730284582fd3991ad9ac81b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "forbid asm/bitops.h direct inclusion\n\nforbid asm/bitops.h direct inclusion\n\nBecause of compile errors that may occur after bit changes if asm/bitops.h is\nincluded directly without e.g.  linux/kernel.h which includes linux/bitops.h,\nforbid direct inclusion of asm/bitops.h.  Thanks to Adrian Bunk.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1977f032722c27ee3730284582fd3991ad9ac81b",
      "tree": "00ba5692a697a387399131850c56e01345c7cace",
      "parents": [
        "1276b103c20603835d9b903cae099125e8c2c5a3"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "remove asm/bitops.h includes\n\nremove asm/bitops.h includes\n\nincluding asm/bitops directly may cause compile errors. don\u0027t include it\nand include linux/bitops instead. next patch will deny including asm header\ndirectly.\n\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bc552f77157d1bae79d0d3a5541da9579c39cb70",
      "tree": "3874dee446b831d1ef6fa3ff81ce941138604b0a",
      "parents": [
        "b2afe3317099afe0843e3cece6be60664e6033ea"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Misc: phantom, improved data passing\n\nThis new version guarantees amb_bit switch in small enough intervals, so that\nthe device won\u0027t stop working in the middle of a movement anymore.  However it\npreserves old (openhaptics) functionality.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8707d8b8c0cbdf4441507f8dded194167da896c7",
      "tree": "1e9ac6b15027bd55263378e551c1595a937d66d6",
      "parents": [
        "020958b6272882c1a8bfbe5f3e0927f3845c2698"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:40:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Fix cpusets update_cpumask\n\nCause writes to cpuset \"cpus\" file to update cpus_allowed for member tasks:\n\n- collect batches of tasks under tasklist_lock and then call\n  set_cpus_allowed() on them outside the lock (since this can sleep).\n\n- add a simple generic priority heap type to allow efficient collection\n  of batches of tasks to be processed without duplicating or missing any\n  tasks in subsequent batches.\n\n- make \"cpus\" file update a no-op if the mask hasn\u0027t changed\n\n- fix race between update_cpumask() and sched_setaffinity() by making\n  sched_setaffinity() post-check that it\u0027s not running on any cpus outside\n  cpuset_cpus_allowed().\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "029190c515f15f512ac85de8fc686d4dbd0ae731",
      "tree": "a946f9223d17e945141fef81f94a75b38e2cc6ef",
      "parents": [
        "2f2a3a46fcafa7a12d61454f67f932dfe7d84c60"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Thu Oct 18 23:40:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "cpuset sched_load_balance flag\n\nAdd a new per-cpuset flag called \u0027sched_load_balance\u0027.\n\nWhen enabled in a cpuset (the default value) it tells the kernel scheduler\nthat the scheduler should provide the normal load balancing on the CPUs in\nthat cpuset, sometimes moving tasks from one CPU to a second CPU if the\nsecond CPU is less loaded and if that task is allowed to run there.\n\nWhen disabled (write \"0\" to the file) then it tells the kernel scheduler\nthat load balancing is not required for the CPUs in that cpuset.\n\nNow even if this flag is disabled for some cpuset, the kernel may still\nhave to load balance some or all the CPUs in that cpuset, if some\noverlapping cpuset has its sched_load_balance flag enabled.\n\nIf there are some CPUs that are not in any cpuset whose sched_load_balance\nflag is enabled, the kernel scheduler will not load balance tasks to those\nCPUs.\n\nMoreover the kernel will partition the \u0027sched domains\u0027 (non-overlapping\nsets of CPUs over which load balancing is attempted) into the finest\ngranularity partition that it can find, while still keeping any two CPUs\nthat are in the same shed_load_balance enabled cpuset in the same element\nof the partition.\n\nThis serves two purposes:\n 1) It provides a mechanism for real time isolation of some CPUs, and\n 2) it can be used to improve performance on systems with many CPUs\n    by supporting configurations in which load balancing is not done\n    across all CPUs at once, but rather only done in several smaller\n    disjoint sets of CPUs.\n\nThis mechanism replaces the earlier overloading of the per-cpuset\nflag \u0027cpu_exclusive\u0027, which overloading was removed in an earlier\npatch: cpuset-remove-sched-domain-hooks-from-cpusets\n\nSee further the Documentation and comments in the code itself.\n\n[akpm@linux-foundation.org: don\u0027t be weird]\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f2a3a46fcafa7a12d61454f67f932dfe7d84c60",
      "tree": "cd4fe3aed382a0557cdfb9fa0b7a3b950a01a767",
      "parents": [
        "8990571eb573032c1192440febb17132074c5575"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Uninline the task_xid_nr_ns() calls\n\nSince these are expanded into call to pid_nr_ns() anyway, it\u0027s OK to move\nthe whole routine out-of-line.  This is a cheap way to save ~100 bytes from\nvmlinux.  Together with the previous two patches, it saves half-a-kilo from\nthe vmlinux.\n\nUn-inline other (currently inlined) functions must be done with additional\nperformance testing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8990571eb573032c1192440febb17132074c5575",
      "tree": "c5cceff1dbac91ca12917e12f5768a5ab332ec75",
      "parents": [
        "bac0abd6174e427404dd197cdbefece31e97329b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:19 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:41 2007 -0700"
      },
      "message": "Uninline find_pid etc set of functions\n\nThe find_pid/_vpid/_pid_ns functions are used to find the struct pid by its\nid, depending on whic id - global or virtual - is used.\n\nThe find_vpid() is a macro that pushes the current-\u003ensproxy-\u003epid_ns on the\nstack to call another function - find_pid_ns().  It turned out, that this\ndereference together with the push itself cause the kernel text size to\ngrow too much.\n\nMove all these out-of-line.  Together with the previous patch this saves a\nbit less that 400 bytes from .text section.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bac0abd6174e427404dd197cdbefece31e97329b",
      "tree": "68ed6bd8619552c921c9fb99e83cb04fcb235a39",
      "parents": [
        "19b9b9b54e5f115907efd56be2c3799775a46561"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Isolate some explicit usage of task-\u003etgid\n\nWith pid namespaces this field is now dangerous to use explicitly, so hide\nit behind the helpers.\n\nAlso the pid and pgrp fields o task_struct and signal_struct are to be\ndeprecated.  Unfortunately this patch cannot be sent right now as this\nleads to tons of warnings, so start isolating them, and deprecate later.\n\nActually the p-\u003etgid \u003d\u003d pid has to be changed to has_group_leader_pid(),\nbut Oleg pointed out that in case of posix cpu timers this is the same, and\nthread_group_leader() is more preferable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19b9b9b54e5f115907efd56be2c3799775a46561",
      "tree": "44340df34980166373f2a57c1283c26026682a95",
      "parents": [
        "228ebcbe634a30aec35132ea4375721bcc41bec0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: remove the struct pid unneeded fields\n\nSince we\u0027ve switched from using pid-\u003enr to pid-\u003eupids-\u003enr some\nfields on struct pid are no longer needed\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "228ebcbe634a30aec35132ea4375721bcc41bec0",
      "tree": "a875976fd5bde6e2f931aa235c34c88a2738493f",
      "parents": [
        "b488893a390edfe027bae7a46e9af8083e740668"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Uninline find_task_by_xxx set of functions\n\nThe find_task_by_something is a set of macros are used to find task by pid\ndepending on what kind of pid is proposed - global or virtual one.  All of\nthem are wrappers above the most generic one - find_task_by_pid_type_ns() -\nand just substitute some args for it.\n\nIt turned out, that dereferencing the current-\u003ensproxy-\u003epid_ns construction\nand pushing one more argument on the stack inline cause kernel text size to\ngrow.\n\nThis patch moves all this stuff out-of-line into kernel/pid.c.  Together\nwith the next patch it saves a bit less than 400 bytes from the .text\nsection.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b488893a390edfe027bae7a46e9af8083e740668",
      "tree": "c469a7f99ad01005a73011c029eb5e5d15454559",
      "parents": [
        "3eb07c8c8adb6f0572baba844ba2d9e501654316"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: changes to show virtual ids to user\n\nThis is the largest patch in the set. Make all (I hope) the places where\nthe pid is shown to or get from user operate on the virtual pids.\n\nThe idea is:\n - all in-kernel data structures must store either struct pid itself\n   or the pid\u0027s global nr, obtained with pid_nr() call;\n - when seeking the task from kernel code with the stored id one\n   should use find_task_by_pid() call that works with global pids;\n - when showing pid\u0027s numerical value to the user the virtual one\n   should be used, but however when one shows task\u0027s pid outside this\n   task\u0027s namespace the global one is to be used;\n - when getting the pid from userspace one need to consider this as\n   the virtual one and use appropriate task/pid-searching functions.\n\n[akpm@linux-foundation.org: build fix]\n[akpm@linux-foundation.org: nuther build fix]\n[akpm@linux-foundation.org: yet nuther build fix]\n[akpm@linux-foundation.org: remove unneeded casts]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eb07c8c8adb6f0572baba844ba2d9e501654316",
      "tree": "5c3d527f6b003b316d41119320ebd5c589c8afd0",
      "parents": [
        "0fbc26a6cfab9f377e82e28225f2c0c6b4661e5c"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:40:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: destroy pid namespace on init\u0027s death\n\nTerminate all processes in a namespace when the reaper of the namespace is\nexiting.  We do this by walking the pidmap of the namespace and sending\nSIGKILL to all processes.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f4e643353aea52d80f33960bd88954a7c074f0f",
      "tree": "5b7e452f7e31be89f06a52a2c077183b7fe74c3b",
      "parents": [
        "130f77ecb2e7d5ac3e53e620f55e374f4a406b20"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:11 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "pid namespaces: initialize the namespace\u0027s proc_mnt\n\nThe namespace\u0027s proc_mnt must be kern_mount-ed to make this pointer always\nvalid, independently of whether the user space mounted the proc or not.  This\nsolves raced in proc_flush_task, etc.  with the proc_mnt switching from NULL\nto not-NULL.\n\nThe initialization is done after the init\u0027s pid is created and hashed to make\nproc_get_sb() finr it and get for root inode.\n\nSice the namespace holds the vfsmnt, vfsmnt holds the superblock and the\nsuperblock holds the namespace we must explicitly break this circle to destroy\nall the stuff.  This is done after the init of the namespace dies.  Running a\nfew steps forward - when init exits it will kill all its children, so no\nproc_mnt will be needed after its death.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "30e49c263e36341b60b735cbef5ca37912549264",
      "tree": "103e74c41db97476ae38cdd4ffc18e4da03f28e8",
      "parents": [
        "b461cc03828c743aed6b3855b9ab0d39a9d54ec5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: allow cloning of new namespace\n\nWhen clone() is invoked with CLONE_NEWPID, create a new pid namespace and then\ncreate a new struct pid for the new process.  Allocate pid_t\u0027s for the new\nprocess in the new pid namespace and all ancestor pid namespaces.  Make the\nnewly cloned process the session and process group leader.\n\nSince the active pid namespace is special and expected to be the first entry\nin pid-\u003eupid_list, preserve the order of pid namespaces.\n\nThe size of \u0027struct pid\u0027 is dependent on the the number of pid namespaces the\nprocess exists in, so we use multiple pid-caches\u0027.  Only one pid cache is\ncreated during system startup and this used by processes that exist only in\ninit_pid_ns.\n\nWhen a process clones its pid namespace, we create additional pid caches as\nnecessary and use the pid cache to allocate \u0027struct pids\u0027 for that depth.\n\nNote, that with this patch the newly created namespace won\u0027t work, since the\nrest of the kernel still uses global pids, but this is to be fixed soon.  Init\npid namespace still works.\n\n[oleg@tv-sign.ru: merge fix]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b461cc03828c743aed6b3855b9ab0d39a9d54ec5",
      "tree": "b39ff42df1564adf800d9c4a01ba78ed14f8f9a2",
      "parents": [
        "07543f5c75cee744b791cf7716c69571486fe753"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:09 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: miscellaneous preparations for pid namespaces\n\n* remove pid.h from pid_namespaces.h;\n* rework is_(cgroup|global)_init;\n* optimize (get|put)_pid_ns for init_pid_ns;\n* declare task_child_reaper to return actual reaper.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07543f5c75cee744b791cf7716c69571486fe753",
      "tree": "3e0d78f869114e5a6e2629fc157ee8f9023316bd",
      "parents": [
        "425fb2b4bf5dde24be4a82e9a2c344bb49ac92e4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make proc have multiple superblocks - one for each namespace\n\nEach pid namespace have to be visible through its own proc mount.  Thus we\nneed to have per-namespace proc trees with their own superblocks.\n\nWe cannot easily show different pid namespace via one global proc tree, since\neach pid refers to different tasks in different namespaces.  E.g.  pid 1\nrefers to the init task in the initial namespace and to some other task when\nseeing from another namespace.  Moreover - pid, exisintg in one namespace may\nnot exist in the other.\n\nThis approach has one move advantage is that the tasks from the init namespace\ncan see what tasks live in another namespace by reading entries from another\nproc tree.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "198fe21b0a17fe9c68cb519ecc566534b04f122b",
      "tree": "690825669858d0f458fc137e42adf77cdf370ea4",
      "parents": [
        "7af5729474b5b8ad385adadab78d6e723e7655a3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: helpers to find the task by its numerical ids\n\nWhen searching the task by numerical id on may need to find it using global\npid (as it is done now in kernel) or by its virtual id, e.g.  when sending a\nsignal to a task from one namespace the sender will specify the task\u0027s virtual\nid and we should find the task by this value.\n\n[akpm@linux-foundation.org: fix gfs2 linkage]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7af5729474b5b8ad385adadab78d6e723e7655a3",
      "tree": "197f8da3e7afd65554f0c0a070eb93036b720fa8",
      "parents": [
        "8ef047aaaeb811247a5639c92e2f2ae1221a28dd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: helpers to obtain pid numbers\n\nWhen showing pid to user or getting the pid numerical id for in-kernel use the\nvalue of this id may differ depending on the namespace.\n\nThis set of helpers is used to get the global pid nr, the virtual (i.e.  seen\nby task in its namespace) nr and the nr as it is seen from the specified\nnamespace.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8ef047aaaeb811247a5639c92e2f2ae1221a28dd",
      "tree": "296a61f66daa8ac42b3d77a53d06a97eb71155c9",
      "parents": [
        "faacbfd3a6808bf87d8f353b42eceeaba2c78a47"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:39 2007 -0700"
      },
      "message": "pid namespaces: make alloc_pid(), free_pid() and put_pid() work with struct upid\n\nEach struct upid element of struct pid has to be initialized properly, i.e.\nits nr mst be allocated from appropriate pidmap and ns set to appropriate\nnamespace.\n\nWhen allocating a new pid, we need to know the namespace this pid will live\nin, so the additional argument is added to alloc_pid().\n\nOn the other hand, the rest of the kernel still uses the pid-\u003enr and\npid-\u003epid_chain fields, so these ones are still initialized, but this will be\nremoved soon.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "faacbfd3a6808bf87d8f353b42eceeaba2c78a47",
      "tree": "c05ad8985ec2367550cbb3321934fd0e8e9208d2",
      "parents": [
        "4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: add support for pid namespaces hierarchy\n\nEach namespace has a parent and is characterized by its \"level\".  Level is the\nnumber of the namespace generation.  E.g.  init namespace has level 0, after\ncloning new one it will have level 1, the next one - 2 and so on and so forth.\n This level is not explicitly limited.\n\nTrue hierarchy must have some way to find each namespace\u0027s children, but it is\nnot used in the patches, so this ability is not added (yet).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee",
      "tree": "ab47621edf01f64485c99cf2cde56762339c86f1",
      "parents": [
        "60347f6716aa49831ac311e04d77ccdc50dc024a"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:40:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: introduce struct upid\n\nSince task will be visible from different pid namespaces each of them have to\nbe addressed by multiple pids.  struct upid is to store the information about\nwhich id refers to which namespace.\n\nThe constuciton looks like this.  Each struct pid carried the reference\ncounter and the list of tasks attached to this pid.  At its end it has a\nvariable length array of struct upid-s.  Each struct upid has a numerical id\n(pid itself), pointer to the namespace, this ID is valid in and is hashed into\na pid_hash for searching the pids.\n\nThe nr and pid_chain fields are kept in struct pid for a while to make kernel\nstill work (no patch initialize the upids yet), but it will be removed at the\nend of this series when we switch to upids completely.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60347f6716aa49831ac311e04d77ccdc50dc024a",
      "tree": "82e666fef22f43550da42ad368a61a5e9a59ef96",
      "parents": [
        "8bf9725c29f2589237dd696d06a204230add0ba3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: prepare proc_flust_task() to flush entries from multiple proc trees\n\nThe first part is trivial - we just make the proc_flush_task() to operate on\narbitrary vfsmount with arbitrary ids and pass the pid and global proc_mnt to\nit.\n\nThe other change is more tricky: I moved the proc_flush_task() call in\nrelease_task() higher to address the following problem.\n\nWhen flushing task from many proc trees we need to know the set of ids (not\njust one pid) to find the dentries\u0027 names to flush.  Thus we need to pass the\ntask\u0027s pid to proc_flush_task() as struct pid is the only object that can\nprovide all the pid numbers.  But after __exit_signal() task has detached all\nhis pids and this information is lost.\n\nThis creates a tiny gap for proc_pid_lookup() to bring some dentries back to\ntree and keep them in hash (since pids are still alive before __exit_signal())\ntill the next shrink, but since proc_flush_task() does not provide a 100%\nguarantee that the dentries will be flushed, this is OK to do so.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bf9725c29f2589237dd696d06a204230add0ba3",
      "tree": "abe1a29924a592808250121435dcd12789336e8a",
      "parents": [
        "2e4a707269a409950c3f315010c20f9719c594e2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "pid namespaces: introduce MS_KERNMOUNT flag\n\nThis flag tells the .get_sb callback that this is a kern_mount() call so that\nit can trust *data pointer to be valid in-kernel one.  If this flag is passed\nfrom the user process, it is cleared since the *data pointer is not a valid\nkernel object.\n\nRunning a few steps forward - this will be needed for proc to create the\nsuperblock and store a valid pid namespace on it during the namespace\ncreation.  The reason, why the namespace cannot live without proc mount is\ndescribed in the appropriate patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e6045f134784f4b158b3c0f7a282b04bd816887",
      "tree": "3304628f666c8524accd10f40da48cfba8b08608",
      "parents": [
        "cf7b708c8d1d7a27736771bcf4c457b332b0f818"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 18 23:39:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:38 2007 -0700"
      },
      "message": "workqueue: debug flushing deadlocks with lockdep\n\nIn the following scenario:\n\ncode path 1:\n  my_function() -\u003e lock(L1); ...; flush_workqueue(); ...\n\ncode path 2:\n  run_workqueue() -\u003e my_work() -\u003e ...; lock(L1); ...\n\nyou can get a deadlock when my_work() is queued or running\nbut my_function() has acquired L1 already.\n\nThis patch adds a pseudo-lock to each workqueue to make lockdep\nwarn about this scenario.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf7b708c8d1d7a27736771bcf4c457b332b0f818",
      "tree": "10f80257b052313b283f18ddfe35145882e0b47f",
      "parents": [
        "a6f5e06378970a2687332c2d54046245fcff1e7e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "Make access to task\u0027s nsproxy lighter\n\nWhen someone wants to deal with some other taks\u0027s namespaces it has to lock\nthe task and then to get the desired namespace if the one exists.  This is\nslow on read-only paths and may be impossible in some cases.\n\nE.g.  Oleg recently noticed a race between unshare() and the (sent for\nreview in cgroups) pid namespaces - when the task notifies the parent it\nhas to know the parent\u0027s namespace, but taking the task_lock() is\nimpossible there - the code is under write locked tasklist lock.\n\nOn the other hand switching the namespace on task (daemonize) and releasing\nthe namespace (after the last task exit) is rather rare operation and we\ncan sacrifice its speed to solve the issues above.\n\nThe access to other task namespaces is proposed to be performed\nlike this:\n\n     rcu_read_lock();\n     nsproxy \u003d task_nsproxy(tsk);\n     if (nsproxy !\u003d NULL) {\n             / *\n               * work with the namespaces here\n               * e.g. get the reference on one of them\n               * /\n     } / *\n         * NULL task_nsproxy() means that this task is\n         * almost dead (zombie)\n         * /\n     rcu_read_unlock();\n\nThis patch has passed the review by Eric and Oleg :) and,\nof course, tested.\n\n[clg@fr.ibm.com: fix unshare()]\n[ebiederm@xmission.com: Update get_net_ns_by_pid]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b460cbc581a53cc088ceba80608021dd49c63c43",
      "tree": "83c28d0adbc15f4157c77b40fa60c40a71cb8673",
      "parents": [
        "3743ca05ff464b8a9e345c08a6c9ce30485f9805"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:52 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define is_global_init() and is_container_init()\n\nis_init() is an ambiguous name for the pid\u003d\u003d1 check.  Split it into\nis_global_init() and is_container_init().\n\nA cgroup init has it\u0027s tsk-\u003epid \u003d\u003d 1.\n\nA global init also has it\u0027s tsk-\u003epid \u003d\u003d 1 and it\u0027s active pid namespace\nis the init_pid_ns.  But rather than check the active pid namespace,\ncompare the task structure with \u0027init_pid_ns.child_reaper\u0027, which is\ninitialized during boot to the /sbin/init process and never changes.\n\nChangelog:\n\n\t2.6.22-rc4-mm2-pidns1:\n\t- Use \u0027init_pid_ns.child_reaper\u0027 to determine if a given task is the\n\t  global init (/sbin/init) process. This would improve performance\n\t  and remove dependence on the task_pid().\n\n\t2.6.21-mm2-pidns2:\n\n\t- [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc,\n\t  ppc,avr32}/traps.c for the _exception() call to is_global_init().\n\t  This way, we kill only the cgroup if the cgroup\u0027s init has a\n\t  bug rather than force a kernel panic.\n\n[akpm@linux-foundation.org: fix comment]\n[sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c]\n[bunk@stusta.de: kernel/pid.c: remove unused exports]\n[sukadev@us.ibm.com: Fix capability.c to work with threaded init]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "88f21d818255bc61c002478d21caf52f8a9b8def",
      "tree": "de16e38862622b3d295f7850cdb006922307fb8d",
      "parents": [
        "2894d650cd9715d00ca196c711265819ef6ebd2d"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:39:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: rename child_reaper() function\n\nRename the child_reaper() function to task_child_reaper() to be similar to\nother task_* functions and to distinguish the function from \u0027struct\npid_namspace.child_reaper\u0027.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2894d650cd9715d00ca196c711265819ef6ebd2d",
      "tree": "dbfe07c3276c2b6aa7d9a4be633da7fa1e12d97b",
      "parents": [
        "baf8f0f82dd79e374bf6fa9e996393df2bae3c21"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@us.ibm.com",
        "time": "Thu Oct 18 23:39:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: define and use task_active_pid_ns() wrapper\n\nWith multiple pid namespaces, a process is known by some pid_t in every\nancestor pid namespace.  Every time the process forks, the child process also\ngets a pid_t in every ancestor pid namespace.\n\nWhile a process is visible in \u003e\u003d1 pid namespaces, it can see pid_t\u0027s in only\none pid namespace.  We call this pid namespace it\u0027s \"active pid namespace\",\nand it is always the youngest pid namespace in which the process is known.\n\nThis patch defines and uses a wrapper to find the active pid namespace of a\nprocess.  The implementation of the wrapper will be changed in when support\nfor multiple pid namespaces are added.\n\nChangelog:\n\t2.6.22-rc4-mm2-pidns1:\n\t- [Pavel Emelianov, Alexey Dobriyan] Back out the change to use\n\t  task_active_pid_ns() in child_reaper() since task-\u003ensproxy\n\t  can be NULL during task exit (so child_reaper() continues to\n\t  use init_pid_ns).\n\n\t  to implement child_reaper() since init_pid_ns.child_reaper to\n\t  implement child_reaper() since tsk-\u003ensproxy can be NULL during exit.\n\n\t2.6.21-rc6-mm1:\n\t- Rename task_pid_ns() to task_active_pid_ns() to reflect that a\n\t  process can have multiple pid namespaces.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nAcked-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Herbert Poetzel \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baf8f0f82dd79e374bf6fa9e996393df2bae3c21",
      "tree": "2cf18de413871812527147cd8fbf32d1dbbe7bee",
      "parents": [
        "a05f7b15deb2903d9f0b5df33ddd4d186d5ecac1"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:48 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: dynamic kmem cache allocator for pid namespaces\n\nAdd kmem_cache to pid_namespace to allocate pids from.\n\nSince both implementations expand the struct pid to carry more numerical\nvalues each namespace should have separate cache to store pids of different\nsizes.\n\nEach kmem cache is name \"pid_\u003cNR\u003e\", where \u003cNR\u003e is the number of numerical ids\non the pid.  Different namespaces with same level of nesting will have same\ncaches.\n\nThis patch has two FIXMEs that are to be fixed after we reach the consensus\nabout the struct pid itself.\n\nThe first one is that the namespace to free the pid from in free_pid() must be\ntaken from pid.  Now the init_pid_ns is used.\n\nThe second FIXME is about the cache allocation.  When we do know how long the\nobject will be then we\u0027ll have to calculate this size in create_pid_cachep.\nRight now the sizeof(struct pid) value is used.\n\n[akpm@linux-foundation.org: coding-style repair]\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a05f7b15deb2903d9f0b5df33ddd4d186d5ecac1",
      "tree": "559d774c0e31d61396b32a86558a3f4c9711b658",
      "parents": [
        "a47afb0f9d794d525a372c8d69902147cc88222a"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: make get_pid_ns() return the namespace itself\n\nMake get_pid_ns() return the namespace itself to look like the other getters\nand make the code using it look nicer.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47afb0f9d794d525a372c8d69902147cc88222a",
      "tree": "7bd67280e2edc1c3b1803d4a93bee794088e9342",
      "parents": [
        "858d72ead4864da0fb0b89b919524125ce998e27"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:39:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "pid namespaces: round up the API\n\nThe set of functions process_session, task_session, process_group and\ntask_pgrp is confusing, as the names can be mixed with each other when looking\nat the code for a long time.\n\nThe proposals are to\n* equip the functions that return the integer with _nr suffix to\n  represent that fact,\n* and to make all functions work with task (not process) by making\n  the common prefix of the same name.\n\nFor monotony the routines signal_session() and set_signal_session() are\nreplaced with task_session_nr() and set_task_session(), especially since they\nare only used with the explicit task-\u003esignal dereference.\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858d72ead4864da0fb0b89b919524125ce998e27",
      "tree": "19ea321ca3b505efecb2053a829daf89a6a22529",
      "parents": [
        "846c7bb055747989891f5cd2bb6e8d56243ba1e7"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Oct 18 23:39:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:37 2007 -0700"
      },
      "message": "cgroups: implement namespace tracking subsystem\n\nWhen a task enters a new namespace via a clone() or unshare(), a new cgroup\nis created and the task moves into it.\n\nThis version names cgroups which are automatically created using\ncgroup_clone() as \"node_\u003cpid\u003e\" where pid is the pid of the unsharing or\ncloned process.  (Thanks Pavel for the idea) This is safe because if the\nprocess unshares again, it will create\n\n\t/cgroups/(...)/node_\u003cpid\u003e/node_\u003cpid\u003e\n\nThe only possibilities (AFAICT) for a -EEXIST on unshare are\n\n\t1. pid wraparound\n\t2. a process fails an unshare, then tries again.\n\nCase 1 is unlikely enough that I ignore it (at least for now).  In case 2, the\nnode_\u003cpid\u003e will be empty and can be rmdir\u0027ed to make the subsequent unshare()\nsucceed.\n\nChangelog:\n\tName cloned cgroups as \"node_\u003cpid\u003e\".\n\n[clg@fr.ibm.com: fix order of cgroup subsystems in init/Kconfig]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "846c7bb055747989891f5cd2bb6e8d56243ba1e7",
      "tree": "e044041366efa8298157c4ae86615d68d30dd6d2",
      "parents": [
        "c2e2c7fa1cb2cf2b114a6c9bc132b6601db5a7c8"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Thu Oct 18 23:39:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Add cgroupstats\n\nThis patch is inspired by the discussion at\nhttp://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics\nas suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.  The\npatch is on top of 2.6.21-mm1 with Paul\u0027s cgroups v9 patches (forward\nported)\n\nThis patch implements per cgroup statistics infrastructure and re-uses\ncode from the taskstats interface.  A new set of cgroup operations are\nregistered with commands and attributes.  It should be very easy to\n*extend* per cgroup statistics, by adding members to the cgroupstats\nstructure.\n\nThe current model for cgroupstats is a pull, a push model (to post\nstatistics on interesting events), should be very easy to add.  Currently\nuser space requests for statistics by passing the cgroup file\ndescriptor.  Statistics about the state of all the tasks in the cgroup\nis returned to user space.\n\nTODO\u0027s/NOTE:\n\nThis patch provides an infrastructure for implementing cgroup statistics.\nBased on the needs of each controller, we can incrementally add more statistics,\nevent based support for notification of statistics, accumulation of taskstats\ninto cgroup statistics in the future.\n\nSample output\n\n# ./cgroupstats -C /cgroup/a\nsleeping 2, blocked 0, running 1, stopped 0, uninterruptible 0\n\n# ./cgroupstats -C /cgroup/\nsleeping 154, blocked 0, running 0, stopped 0, uninterruptible 0\n\nIf the approach looks good, I\u0027ll enhance and post the user space utility for\nthe same\n\nFeedback, comments, test results are always welcome!\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "006cb99200a38a8e3b0cbc1be48035a08921e601",
      "tree": "9bbbc71000469f94dbd4fbc04b4fb2ff8777604b",
      "parents": [
        "62d0df64065e7c135d0002f069444fbdfc64768f"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: simple task cgroup debug info subsystem\n\nThis example subsystem exports debugging information as an aid to diagnosing\nrefcount leaks, etc, in the cgroup framework.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62d0df64065e7c135d0002f069444fbdfc64768f",
      "tree": "9087bf336182ab9c619460ba2370a223200179bc",
      "parents": [
        "8793d854edbc2774943a4b0de3304dc73991159a"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:42 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: example CPU accounting subsystem\n\nThis example demonstrates how to use the generic cgroup subsystem for a\nsimple resource tracker that counts, for the processes in a cgroup, the\ntotal CPU time used and the %CPU used in the last complete 10 second interval.\n\nPortions contributed by Balbir Singh \u003cbalbir@in.ibm.com\u003e\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8793d854edbc2774943a4b0de3304dc73991159a",
      "tree": "380b3403a0fedfcce61d9af5af1ffbcc71017abf",
      "parents": [
        "81a6a5cdd2c5cd70874b88afe524ab09e9e869af"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Thu Oct 18 23:39:39 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:36 2007 -0700"
      },
      "message": "Task Control Groups: make cpusets a client of cgroups\n\nRemove the filesystem support logic from the cpusets system and makes cpusets\na cgroup subsystem\n\nThe \"cpuset\" filesystem becomes a dummy filesystem; attempts to mount it get\npassed through to the cgroup filesystem with the appropriate options to\nemulate the old cpuset filesystem behaviour.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Kirill Korotaev \u003cdev@openvz.org\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "81a6a5cdd2c5cd70874b88afe524ab09e9e869af"
}
