)]}'
{
  "log": [
    {
      "commit": "ea1dd4e13010eb9dd5ffb4bfabbb472bc238bebb",
      "tree": "2c55fb5671c1dab0c99d84d46c09fd03ebdc5f53",
      "parents": [
        "198e0fed9e59461fc1890dd8b75ec72d14638873"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:53 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: clear only affected flags during ata_dev_configure()\n\nata_dev_configure() should not clear dynamic device flags determined\nelsewhere.  Lower eight bits are reserved for feature flags, define\nATA_DFLAG_CFG_MASK and clear only those bits before configuring\ndevice.  Without this patch, ATA_DFLAG_PIO gets turned off during\nrevalidation making PIO mode unuseable.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "198e0fed9e59461fc1890dd8b75ec72d14638873",
      "tree": "c5c1d727117df989d6e6e8e2b79d065a669a7a27",
      "parents": [
        "949b38af40a0b88b7267908b1554a45b97b5b737"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:52 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: rename ATA_FLAG_PORT_DISABLED to ATA_FLAG_DISABLED\n\nRename ATA_FLAG_PORT_DISABLED to ATA_FLAG_DISABLED for consistency.\n(ATA_FLAG_* are always about ports).\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "949b38af40a0b88b7267908b1554a45b97b5b737",
      "tree": "cff0a143d71c8e03bf8aceefdfec8f735bc33416",
      "parents": [
        "c43c555c3a6db7f0b55fd9b66d7ecff16e827d4e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:52 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: clean up constants\n\n* Reorder ATA_DFLAG_* such that feature flags determined by\n  ata_dev_configure() are on lower bits.  Reserve lower eight bits\n  for this purpose and allocate dynamic flags from bit 8.\n\n* Reorder ATA_FLAG_* such that feature flags determined during driver\n  initiailization are on bits 0:15, dynamic flags on 16:23 and LLDD\n  specific flags on 24:31.\n\n* Kill trailing white space and lower-case an one line comment for\n  consistency.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "c43c555c3a6db7f0b55fd9b66d7ecff16e827d4e",
      "tree": "3036762ea56f742414eaaf098f9f5f34dedb03e4",
      "parents": [
        "5eb45c02a9944e813a0b82457607557a1f2c64b5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 18:51:52 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:09:19 2006 -0400"
      },
      "message": "[PATCH] libata: ATA_FLAG_IN_EH is not used, kill it\n\nKill unused flag ATA_FLAG_IN_EH.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "14d2bac1877ed4e2cc940d1680db1a4f29225811",
      "tree": "60b478485e7453dd5a41aea34699a305dd3c8d2c",
      "parents": [
        "cf176e1aa92eb2a3faea8409e841396a66413937"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 17:54:46 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:02:57 2006 -0400"
      },
      "message": "[PATCH] libata: improve ata_bus_probe()\n\nImprove ata_bus_probe() such that configuration failures are handled\nbetter.  Each device is given ATA_PROBE_MAX_TRIES chances, but any\nnon-transient error (revalidation failure with -ENODEV, configuration\nfailure with -EINVAL...) disables the device directly.  Any IO error\nresults in SATA PHY speed down and ata_set_mode() failure lowers\ntransfer mode.  The last try always puts a device into PIO-0.\n\nAfter each failure, the whole port is reset to make sure that the\ncontroller and all the devices are in a known and stable state.  The\nreset also applies SATA SPD configuration if necessary.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "1c3fae4d7eb121933341443c37d3bbee43c0fb68",
      "tree": "e7f0c4145b3a108817c2a7e6bea58a72eb3692e1",
      "parents": [
        "002c8054fa8d0f1afce2b0c728be32d338b9293a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 20:53:28 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:02:57 2006 -0400"
      },
      "message": "[PATCH] libata: implement ap-\u003esata_spd_limit and helpers\n\nap-\u003esata_spd_limit contrains SATA PHY speed of the port.  It is\ninitialized to the configured value prior to probing thus preserving\nBIOS configured value.  hardreset is responsible for applying SPD\nlimit and sata_std_hardreset() is updated to do that.  SATA SPD limit\nwill be used to enhance failure handling during probing and later by\nEH.\n\nThis patch also normalizes some comments around affected code.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "002c8054fa8d0f1afce2b0c728be32d338b9293a",
      "tree": "3ca1bddacad6bb08b8f9b27ef6ebfbdb4cee4d46",
      "parents": [
        "852ee16a914fb3ada2f81e222677c04defc2f15f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sun Apr 02 17:54:46 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sun Apr 02 10:02:57 2006 -0400"
      },
      "message": "[PATCH] libata: implement ata_dev_absent()\n\nFor the time being we cannot use ata_dev_present() as it was renamed\nto ata_dev_enabled() but we still need presence test.  Implement\nnegation of the test.  Conveniently, the negated result is needed in\nmore places.  This is suggested by Jeff Garzik.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e1211e3fa7fd05ff0d4f597fd37e40de8acc6784",
      "tree": "672018d7facf99ad4d45b09e2e2980accebdfe38",
      "parents": [
        "9974e7cc6c8b8ea796c92cdf28db93e4579a4000"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Sat Apr 01 01:38:18 2006 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 01 12:33:45 2006 -0500"
      },
      "message": "[PATCH] libata: implement ata_dev_enabled and disabled()\n\nThis patch renames ata_dev_present() to ata_dev_enabled() and adds\nata_dev_disabled().  This is to discern the state where a device is\npresent but disabled from not-present state.  This disctinction is\nnecessary when configuring transfer mode because device selection\ntiming must not be violated even if a device fails to configure.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "5b67e8dd5ae889fea7d01b905a570fa9a37b8785",
      "tree": "6a84a2bbe73b44fb13fb125ea07250cb778f0082",
      "parents": [
        "a8b59e79ed55de97949ff1ca7d933786b95b39bd",
        "cc3d48db75235adf0ae37d3287f6f9e14657d1ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 21:33:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 21:33:07 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] 3424/2: ixp23xx: fix uncompress.h for recent CRLF decompressor change\n  [ARM] 3434/1: pxa i2s amsl define\n  [ARM] 3425/1: xsc3: need to include pgtable-hwdef.h\n  [ARM] Allow un-muxed syscalls to be available for everyone\n  [ARM] 3420/1: Missing clobber in example code\n  [ARM] nommu: fixups for the exception vectors\n  [ARM] nommu: add nommu specific Kconfig and MMUEXT variable in Makefile\n  [ARM] nommu: start-up code\n  [ARM] nommu: MPU support in boot/compressed/head.S\n"
    },
    {
      "commit": "a8b59e79ed55de97949ff1ca7d933786b95b39bd",
      "tree": "bdb9bfca39e01954d8416e2a49f59d040d1b1777",
      "parents": [
        "547a77ae62091449e23b64a75b9c69e373613608",
        "2ab9391dea6e36fed13443c29bf97d3be05f5289"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 21:31:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 21:31:40 2006 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Avoid \"u64 foo : 32;\" for gcc3 vs. gcc4 compatibility\n  [IA64] Export cpu cache info by sysfs\n"
    },
    {
      "commit": "4b75679f60d0ce780609cbff249769b669f4fb69",
      "tree": "2c8890020b5e7d340036acb01f73a6e53feb038d",
      "parents": [
        "30c14e40ed85469f166b5effdab6705c73c5cd5e",
        "025be81e83043f20538dcced1e12c5f8d152fbdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:52:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:52:30 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NET]: Allow skb headroom to be overridden\n  [TCP]: Kill unused extern decl for tcp_v4_hash_connecting()\n  [NET]: add SO_RCVBUF comment\n  [NET]: Deinline some larger functions from netdevice.h\n  [DCCP]: Use NULL for pointers, comfort sparse.\n  [DECNET]: Fix refcount\n"
    },
    {
      "commit": "e358c1a2c45f7ec32d77cc09a2bb42d6823a4193",
      "tree": "ae35f543a333abe1a76852870c5a2579c02bc38a",
      "parents": [
        "a58e00e7da5f93c096527f5e20ceb2cf6d130cf0"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Fri Mar 31 02:32:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] mutex: some cleanups\n\nTurn some macros into inline functions and add proper type checking as\nwell as being more readable.  Also a minor comment adjustment.\n\nSigned-off-by: Nicolas Pitre \u003cnico@cam.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a244e1698ae3609cdfe24088e1293593cb7a5278",
      "tree": "81f3e151c9b8118a3a917dd6b0d3c75556dc170b",
      "parents": [
        "0cb3463f04e771869f481e2dd44f66419e850586"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:32:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] fs/namei.c: make lookup_hash() static\n\nAs announced, lookup_hash() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a536093a2f07007aa572e922752b7491b9ea8ff2",
      "tree": "72f1036242f91ac77fbeb6b41c633af76e3d7358",
      "parents": [
        "2cbbb3b59c3ccdc55ad0c924fb49e09a962bb517"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Fri Mar 31 02:31:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] fbcon: Fix big-endian bogosity in slow_imageblit()\n\nThe monochrome-\u003ecolor expansion routine that handles bitmaps which have\n(widths % 8) !\u003d 0 (slow_imageblit) produces corrupt characters in big-endian.\nThis is caused by a bogus bit test in slow_imageblit().\n\nFix.\n\nThis patch may deserve to go to the stable tree.  The code has already been\nwell tested in little-endian machines.  It\u0027s only in big-endian where there is\nuncertainty and Herbert confirmed that this is the correct way to go.\n\nIt should not introduce regressions.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nAcked-by: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2c0f5fb08e8ad59f396b1bda41ccd93cbb00a09f",
      "tree": "9b53b4ffd3b118561d5210ca3962c592a428d7cd",
      "parents": [
        "5f27a27bd77fcfd4b90ed33668940bc3cf72768b"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] backlight: corgi_bl: Generalise to support other Sharp SL hardware\n\nGeneralise the Corgi backlight driver by moving the default intensity and\nlimit mask settings into the platform specific data structure.  This enables\nthe driver to support other Zaurus hardware, specifically the SL-6000x (Tosa)\nmodel.\n\nAlso change the spinlock to a mutex (the spinlock is overkill).\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ca017658b1f902c9bba2cc1017e301581f7728d",
      "tree": "9180b3923d4f6ef09c11d7f7386024f391508759",
      "parents": [
        "9b0e1c5dd2941aec566047e10a5cc929ca7f7d4f"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] backlight: Backlight Class Improvements\n\nBacklight class attributes are currently easy to implement incorrectly.\nMoving certain handling into the backlight core prevents this whilst at the\nsame time makes the drivers simpler and consistent.  The following changes are\nincluded:\n\nThe brightness attribute only sets and reads the brightness variable in the\nbacklight_properties structure.\n\nThe power attribute only sets and reads the power variable in the\nbacklight_properties structure.\n\nAny framebuffer blanking events change a variable fb_blank in the\nbacklight_properties structure.\n\nThe backlight driver has only two functions to implement.  One function is\ncalled when any of the above properties change (to update the backlight\nbrightness), the second is called to return the current backlight brightness\nvalue.  A new attribute \"actual_brightness\" is added to return this brightness\nas determined by the driver having combined all the above factors (and any\ndriver/device specific factors).\n\nAdditionally, the backlight core takes care of checking the maximum brightness\nis not exceeded and of turning off the backlight before device removal.\n\nThe corgi backlight driver is updated to reflect these changes.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e7e241f8c5c87cc3685364feface081c9fa3648",
      "tree": "43ea46cfec4da31a505e93875feeac945bf906ce",
      "parents": [
        "92476d7fc0326a409ab1d3864a04093a6be9aca7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] dcache: Add helper d_hash_and_lookup\n\nIt is very common to hash a dentry and then to call lookup.  If we take fs\nspecific hash functions into account the full hash logic can get ugly.\nFurther full_name_hash as an inline function is almost 100 bytes on x86 so\nhaving a non-inline choice in some cases can measurably decrease code size.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92476d7fc0326a409ab1d3864a04093a6be9aca7",
      "tree": "ea50a5a31522492d9915e0763a7adc6ac87c4fbc",
      "parents": [
        "8c7904a00b06d2ee51149794b619e07369fcf9d4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:00 2006 -0800"
      },
      "message": "[PATCH] pidhash: Refactor the pid hash table\n\nSimplifies the code, reduces the need for 4 pid hash tables, and makes the\ncode more capable.\n\nIn the discussions I had with Oleg it was felt that to a large extent the\ncleanup itself justified the work.  With struct pid being dynamically\nallocated meant we could create the hash table entry when the pid was\nallocated and free the hash table entry when the pid was freed.  Instead of\nplaying with the hash lists when ever a process would attach or detach to a\nprocess.\n\nFor myself the fact that it gave what my previous task_ref patch gave for free\nwith simpler code was a big win.  The problem is that if you hold a reference\nto struct task_struct you lock in 10K of low memory.  If you do that in a user\ncontrollable way like /proc does, with an unprivileged but hostile user space\napplication with typical resource limits of 1000 fds and 100 processes I can\ntrigger the OOM killer by consuming all of low memory with task structs, on a\nmachine wight 1GB of low memory.\n\nIf I instead hold a reference to struct pid which holds a pointer to my\ntask_struct, I don\u0027t suffer from that problem because struct pid is 2 orders\nof magnitude smaller.  In fact struct pid is small enough that most other\nkernel data structures dwarf it, so simply limiting the number of referring\ndata structures is enough to prevent exhaustion of low memory.\n\nThis splits the current struct pid into two structures, struct pid and struct\npid_link, and reduces our number of hash tables from PIDTYPE_MAX to just one.\nstruct pid_link is the per process linkage into the hash tables and lives in\nstruct task_struct.  struct pid is given an indepedent lifetime, and holds\npointers to each of the pid types.\n\nThe independent life of struct pid simplifies attach_pid, and detach_pid,\nbecause we are always manipulating the list of pids and not the hash table.\nIn addition in giving struct pid an indpendent life it makes the concept much\nmore powerful.\n\nKernel data structures can now embed a struct pid * instead of a pid_t and\nnot suffer from pid wrap around problems or from keeping unnecessarily\nlarge amounts of memory allocated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c7904a00b06d2ee51149794b619e07369fcf9d4",
      "tree": "c995150254e17dfda6e1679c3249343586e178cb",
      "parents": [
        "e4e5d3fc80d26ed26ebe42907b224f08d7eccfbf"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Mar 31 02:31:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] task: RCU protect task-\u003eusage\n\nA big problem with rcu protected data structures that are also reference\ncounted is that you must jump through several hoops to increase the reference\ncount.  I think someone finally implemented atomic_inc_not_zero(\u0026count) to\nautomate the common case.  Unfortunately this means you must special case the\nrcu access case.\n\nWhen data structures are only visible via rcu in a manner that is not\ndetermined by the reference count on the object (i.e.  tasks are visible until\ntheir zombies are reaped) there is a much simpler technique we can employ.\nSimply delaying the decrement of the reference count until the rcu interval is\nover.\n\nWhat that means is that the proc code that looks up a task and later\nwants to sleep can now do:\n\nrcu_read_lock();\ntask \u003d find_task_by_pid(some_pid);\nif (task) {\n\tget_task_struct(task);\n}\nrcu_read_unlock();\n\nThe effect on the rest of the kernel is that put_task_struct becomes cheaper\nand immediate, and in the case where the task has been reaped it frees the\ntask immediate instead of unnecessarily waiting an until the rcu interval is\nover.\n\nCleanup of task_struct does not happen when its reference count drops to\nzero, instead cleanup happens when release_task is called.  Tasks can only\nbe looked up via rcu before release_task is called.  All rcu protected\nmembers of task_struct are freed by release_task.\n\nTherefore we can move call_rcu from put_task_struct into release_task.  And\nwe can modify release_task to not immediately release the reference count\nbut instead have it call put_task_struct from the function it gives to\ncall_rcu.\n\nThe end result:\n\n- get_task_struct is safe in an rcu context where we have just looked\n  up the task.\n\n- put_task_struct() simplifies into its old pre rcu self.\n\nThis reorganization also makes put_task_struct uncallable from modules as\nit is not exported but it does not appear to be called from any modules so\nthis should not be an issue, and is trivially fixed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "158d9ebd19280582da172626ad3edda1a626dace",
      "tree": "5b821a6faf28d136b65ae30a56e7f731adc11c28",
      "parents": [
        "390e2ff07712468ce6600a43aa91e897b056ce12"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:31:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] resurrect __put_task_struct\n\nThis just got nuked in mainline.  Bring it back because Eric\u0027s patches use it.\n\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d425b274ba83ba4e7746a40446ec0ba3267de51f",
      "tree": "73d3342be7ba8ef8d18a8c3cc9fea6e026e2bffa",
      "parents": [
        "7c4bb1f9b3788309e1159961c606ba0bdf7ed382"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:59 2006 -0800"
      },
      "message": "[PATCH] sched: activate SCHED BATCH expired\n\nTo increase the strength of SCHED_BATCH as a scheduling hint we can\nactivate batch tasks on the expired array since by definition they are\nlatency insensitive tasks.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3dee386e14045484a6c41c8f03a263f9d79de740",
      "tree": "4b1643508ad94981e8d4deb5136d0a626e60932d",
      "parents": [
        "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d"
      ],
      "author": {
        "name": "Con Kolivas",
        "email": "kernel@kolivas.org",
        "time": "Fri Mar 31 02:31:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: cleanup task_activated()\n\nThe activated flag in task_struct is used to track different sleep types and\nits usage is somewhat obfuscated.  Convert the variable to an enum with more\ndescriptive names without altering the function.\n\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db1b1fefc2cecbff2e4214062fa8c680cb6e7b7d",
      "tree": "ad8e68882f7c36216e16ab264101c5da96ccd5c9",
      "parents": [
        "3055addadbe9bfb2365006a1c13fd342a8d30d52"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Fri Mar 31 02:31:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] sched: reduce overhead of calc_load\n\nCurrently, count_active_tasks() calls both nr_running() \u0026\nnr_interruptible().  Each of these functions does a \"for_each_cpu\" \u0026 reads\nvalues from the runqueue of each cpu.  Although this is not a lot of\ninstructions, each runqueue may be located on different node.  Depending on\nthe architecture, a unique TLB entry may be required to access each\nrunqueue.\n\nSince there may be more runqueues than cpu TLB entries, a scan of all\nrunqueues can trash the TLB.  Each memory reference incurs a TLB miss \u0026\nrefill.\n\nIn addition, the runqueue cacheline that contains nr_running \u0026\nnr_uninterruptible may be evicted from the cache between the two passes.\nThis causes unnecessary cache misses.\n\nCombining nr_running() \u0026 nr_interruptible() into a single function\nsubstantially reduces the TLB \u0026 cache misses on large systems.  This should\nhave no measureable effect on smaller systems.\n\nOn a 128p IA64 system running a memory stress workload, the new function\nreduced the overhead of calc_load() from 605 usec/call to 324 usec/call.\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "00362e33f65f1cb5d15e62ea5509520ce2770360",
      "tree": "02694b1416f3d98c4eebaeca7864c7fd3bad6fa0",
      "parents": [
        "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 31 02:31:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:58 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create generic sleeper\n\nThe removal of the data field in the hrtimer structure enforces the\nembedding of the timer into another data structure.  nanosleep now uses a\nprivate implementation of the most common used timer callback function\n(simple task wakeup).\n\nIn order to avoid the reimplentation of such functionality all over the\nplace a generic hrtimer_sleeper functionality is created.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2bfb646cdf348cb77c572f06d5b9d17ea205c7e2",
      "tree": "a26ed9aedb7af67d9421b14ad6cdd0714d91195f",
      "parents": [
        "03731fbdd09f8db4af86dbf437e3169fb1920d5e"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:57 2006 -0800"
      },
      "message": "[PATCH] LED: Add IDE disk activity LED trigger\n\nAdd an LED trigger for IDE disk activity to the ide-disk driver.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nAcked-by: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c3bc9956ec52fb2c70f29aa894d8eec766116584",
      "tree": "c93aa56e6793cfa283d13a28cfa6c02a30f6c794",
      "parents": [
        "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED trigger tupport\n\nAdd support for LED triggers to the LED subsystem.  \"Triggers\" are events\nwhich change the state of an LED.  Two kinds of trigger are available, simple\nones which can be added to exising code with minimum disruption and complex\nones for implementing new or more complex functionality.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0",
      "tree": "56715f0e0af8a9c33725f3db2f14cf7f870ad46d",
      "parents": [
        "75c1d31d9ea71025b73430c696b727e8aa15872d"
      ],
      "author": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Fri Mar 31 02:31:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] LED: add LED class\n\nAdd the foundations of a new LEDs subsystem.  This patch adds a class which\npresents LED devices within sysfs and allows their brightness to be\ncontrolled.\n\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ca07731e495584bd84dca15a0f065470d594ec4",
      "tree": "d043e8b64b43361051e1e6b40ee37382591825df",
      "parents": [
        "d32af0fe11b1618572389723e93cf33a4cc11c81"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 31 02:30:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] vt: add TIOCL_GETKMSGREDIRECT\n\nAdd TIOCL_GETKMSGREDIRECT needed by the userland suspend tool to get the\ncurrent value of kmsg_redirect from the kernel so that it can save it and\nrestore it after resume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2cf8d82d63807c2c68adf20bb28bf502496186dd",
      "tree": "13cafaa87dafa639f3876bcda6d302266a349c88",
      "parents": [
        "09ce3512dcad0ad1d07eee0dc5ebb6d037c39c16"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:55 2006 -0800"
      },
      "message": "[PATCH] make local_t signed\n\nlocal_t\u0027s were defined to be unsigned.  This increases confusion because\natomic_t\u0027s are signed.  The patch goes through and changes all implementations\nto use signed longs throughout.\n\nAlso, x86-64 was using 32-bit quantities for the value passed into local_add()\nand local_sub().  Fixed.\n\nAll (actually, both) existing users have been audited.\n\n(Also s/__inline__/inline/ in x86_64/local.h)\n\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f79e2abb9bd452d97295f34376dedbec9686b986",
      "tree": "56b9998caa11983556e842fb9a8143d86d765fa3",
      "parents": [
        "d6dfd1310d3562698fd7c3c086f6c239f96394ac"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 31 02:30:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] sys_sync_file_range()\n\nRemove the recently-added LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT\nfadvise() additions, do it in a new sys_sync_file_range() syscall instead.\nReasons:\n\n- It\u0027s more flexible.  Things which would require two or three syscalls with\n  fadvise() can be done in a single syscall.\n\n- Using fadvise() in this manner is something not covered by POSIX.\n\nThe patch wires up the syscall for x86.\n\nThe sycall is implemented in the new fs/sync.c.  The intention is that we can\nmove sys_fsync(), sys_fdatasync() and perhaps sys_sync() into there later.\n\nDocumentation for the syscall is in fs/sync.c.\n\nA test app (sync_file_range.c) is in\nhttp://www.zip.com.au/~akpm/linux/patches/stuff/ext3-tools.tar.gz.\n\nThe available-to-GPL-modules do_sync_file_range() is for knfsd: \"A COMMIT can\nsay NFS_DATA_SYNC or NFS_FILE_SYNC.  I can skip the -\u003efsync call for\nNFS_DATA_SYNC which is hopefully the more common.\"\n\nNote: the `async\u0027 writeout mode SYNC_FILE_RANGE_WRITE will turn synchronous if\nthe queue is congested.  This is trivial to fix: add a new flag bit, set\nwbc-\u003enonblocking.  But I\u0027m not sure that we want to expose implementation\ndetails down to that level.\n\nNote: it\u0027s notable that we can sync an fd which wasn\u0027t opened for writing.\nSame with fsync() and fdatasync()).\n\nNote: the code takes some care to handle attempts to sync file contents\noutside the 16TB offset on 32-bit machines.  It makes such attempts appear to\nsucceed, for best 32-bit/64-bit compatibility.  Perhaps it should make such\nrequests fail...\n\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "453823ba08ba762b3d58934b6dce75edce37169e",
      "tree": "80170bf784145621467ba83ea44d25dc3e5e5964",
      "parents": [
        "ee37df7877eeaa16d7761cce64854110a7c17ad9"
      ],
      "author": {
        "name": "Corey Minyard",
        "email": "minyard@acm.org",
        "time": "Fri Mar 31 02:30:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:54 2006 -0800"
      },
      "message": "[PATCH] IPMI: fix startup race condition\n\nMatt Domsch noticed a startup race with the IPMI kernel thread, it was\npossible (though extraordinarly unlikely) that a message could come in\nbefore the upper layer was ready to handle it.  This patch splits the\nstartup processing of an IPMI interface into two parts, one to get ready\nand one to actually start the processes to receive messages from the\ninterface.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68eef3b4791572ecb70249c7fb145bb3742dd899",
      "tree": "1f61fce839cec8d672ae06a423d46f0a6fcd924d",
      "parents": [
        "a2c348fe0117adced11e374329a5ea3f7c43cb41"
      ],
      "author": {
        "name": "Joe Korty",
        "email": "joe.korty@ccur.com",
        "time": "Fri Mar 31 02:30:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Simplify proc/devices and fix early termination regression\n\nMake baby-simple the code for /proc/devices.  Based on the proven design\nfor /proc/interrupts.\n\nThis also fixes the early-termination regression 2.6.16 introduced, as\ndemonstrated by:\n\n    # dd if\u003d/proc/devices bs\u003d1\n    Character devices:\n      1 mem\n    27+0 records in\n    27+0 records out\n\nThis should also work (but is untested) when /proc/devices \u003e4096 bytes,\nwhich I believe is what the original 2.6.16 rewrite fixed.\n\n[akpm@osdl.org: cleanups, simplifications]\nSigned-off-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3691c5199e8a4be1c7a91b5ab925db5feb866e19",
      "tree": "025210545818b080df13faa31c9266432579794c",
      "parents": [
        "5ce29646ebe352587e3b3160d599010c5da1b9dd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Mar 31 02:30:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] kill __init_timer_base in favor of boot_tvec_bases\n\nCommit a4a6198b80cf82eb8160603c98da218d1bd5e104:\n\t[PATCH] tvec_bases too large for per-cpu data\n\nintroduced \"struct tvec_t_base_s boot_tvec_bases\" which is visible at\ncompile time.  This means we can kill __init_timer_base and move\ntimer_base_s\u0027s content into tvec_t_base_s.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97db7fbfc7712bc403330c81c04ddfa82b335bce",
      "tree": "7461ab8f77bb3da67bcd35a50baa6596334cd89a",
      "parents": [
        "3feb88562d149f078319e5a1b2f7acaa10251a5c"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Mar 31 02:30:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: s390\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had mistakes\nin the past where people were using for_each_cpu() where they should have been\niterating across only online or present CPUs.  This is inefficient and\npossibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the\nfuture.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3feb88562d149f078319e5a1b2f7acaa10251a5c",
      "tree": "73fb00f0ecb9ed0c4cf8eec24c84253ce9620464",
      "parents": [
        "54d8d3b5a0ce1cdbad1d3154c9ea9732d394e9c7"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Fri Mar 31 02:30:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] uml: check for differences in host support\n\nIf running on a host not supporting TLS (for instance 2.4) we should report\nthat cleanly to the user, instead of printing not comprehensible \"error 5\" for\nthat.\n\nAdditionally, i386 and x86_64 support different ranges for\nuser_desc-\u003eentry_number, and we must account for that; we couldn\u0027t pass\nourselves -1 because we need to override previously existing TLS descriptors\nwhich glibc has possibly set, so test at startup the range to use.\n\nx86 and x86_64 existing ranges are hardcoded.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa6758d4867cd07bd76105ade6177fe6148e559a",
      "tree": "0053f855c885a6dc322337468a2c45b6b2f8ddd0",
      "parents": [
        "972410b0232e97609fcefc8e408fe3037fcd607b"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Fri Mar 31 02:30:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] uml: implement {get,set}_thread_area for i386\n\nImplement sys_[gs]et_thread_area and the corresponding ptrace operations for\nUML.  This is the main chunk, additional parts follow.  This implementation is\nnow well tested and has run reliably for some time, and we\u0027ve understood all\nthe previously existing problems.\n\nTheir implementation saves the new GDT content and then forwards the call to\nthe host when appropriate, i.e.  immediately when the target process is\nrunning or on context switch otherwise (i.e.  on fork and on ptrace() calls).\n\nIn SKAS mode, we must switch registers on each context switch (because SKAS\ndoes not switches tls_array together with current-\u003emm).\n\nAlso, added get_cpu() locking; this has been done for SKAS mode, since TT does\nnot need it (it does not use smp_processor_id()).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fbdf2161552a2065047e5df2dbf9ebf69d66a0e9",
      "tree": "67d1adf47db4d80b712e276e348f2d4ec6da251d",
      "parents": [
        "12523bdce1a6b5a3a2627b9901162bbd3eef33ed"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Fri Mar 31 02:30:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:51 2006 -0800"
      },
      "message": "[PATCH] uml: split ldt.h in arch-independent and arch-dependant code\n\nldt-{i386,x86_64}.h is made of two different parts - some code for parsing of\nLDT descriptors, which is arch-dependant, and the code to handle uml_ldt_t (an\nLDT block inside UML), which is mostly arch-independant (among x86 and x86_64,\nat least).\n\nJoin the common part in a single file (ldt.h) and split the rest away\n(host_ldt-{i386,x86_64}.h).\n\nThis is needed because processor.h, with next patches, will start including\nthe LDT descriptor parsing macros in host_ldt.h, but it can\u0027t include ldt.h\nbecause it uses semaphores (and to define semaphores one must first include\nprocessor.h!).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nAcked-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d338e1accfc3473f7e453427dfd4f1ebf4dbbe6",
      "tree": "ac6559e533cd4720b5c5b13119b3d10f0ab8b51d",
      "parents": [
        "694a464e19b9e3278dbaf6a09fa7c1efec3f8eb5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 31 02:30:15 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:51 2006 -0800"
      },
      "message": "[PATCH] uml: sparse cleanups\n\nmisc sparse annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1a75a3f0680d9c4bc4761512658b6fd664032e18",
      "tree": "8d3d7fe266740f58961b43ecf144503f36e88dc4",
      "parents": [
        "3ccfb81e871b45e4af6ebb3282f3cfa0f98f1b80"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Fri Mar 31 02:30:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:50 2006 -0800"
      },
      "message": "[PATCH] i386 kdump timer vector lockup fix\n\nPorting the patch I posted for x86_64 to i386.\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d114178139610707\u0026w\u003d2\n\no While using kdump, after a system crash when second kernel boots, timer\n  vector gets (0x31) locked and CPU does not see timer interrupts\n  travelling from IOAPIC to APIC.  Currently it does not lead to boot\n  failure in second kernel as timer interrupts continues to come as ExtInt\n  through LAPIC directly, but fixing it is good in case some boards do not\n  support the other mode.\n\no After a system crash, it is not safe to service interrupts any more,\n  hence interrupts are disabled.  This leads to pending interrupts at\n  LAPIC.  LAPIC sends these interrupts to the CPU during early boot of\n  second kernel.  Other pending interrupts are discarded saying unexpected\n  trap but timer interrupt is serviced and CPU does not issue an LAPIC EOI\n  because it think this interrupt came from i8259 and sends ack to 8259.\n  This leads to vector 0x31 locking as LAPIC does not clear respective ISR\n  and keeps on waiting for EOI.\n\no This patch issues extra EOI for the pending interrupts who have ISR set.\n\no Though today only timer seems to be the special case because in early\n  boot it thinks interrupts are coming from i8259 and uses\n  mask_and_ack_8259A() as ack handler and does not issue LAPIC EOI.  But\n  probably doing it in generic manner for all vectors makes sense.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ccfb81e871b45e4af6ebb3282f3cfa0f98f1b80",
      "tree": "92a48c57c125da95d96bb1506c6c871cb5b726d4",
      "parents": [
        "bc83db4f006fcf9e9502a002b4bd448fc4511d04"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "bgerst@didntduck.org",
        "time": "Fri Mar 31 02:30:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:50 2006 -0800"
      },
      "message": "[PATCH] Remove long dead i386 floppy asm code\n\nIt\u0027s been disabled since v2.1.88\n\nSigned-off-by: Brian Gerst \u003cbgerst@didntduck.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "93fac7041f082297b93655a0e49f659cd7520e40",
      "tree": "2d8f295087377d4ac0ceea49dd67bb682b04c749",
      "parents": [
        "9bf9e89c3d147ca8cf9622d2d053684fba77a464"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] mm: schedule find_trylock_page() removal\n\nfind_trylock_page() is an odd interface in that it doesn\u0027t take a reference\nlike the others.  Now that XFS no longer uses it, and its last remaining\ncaller actually wants an elevated refcount, opencode that callsite and\nschedule find_trylock_page() for removal.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9bf9e89c3d147ca8cf9622d2d053684fba77a464",
      "tree": "e47d654953aea7226b47489d4ed6e94acd8014d8",
      "parents": [
        "b5ac5d7edb64b3ca1a489b30d95d62492a1f0b80"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Mar 31 02:29:56 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:49 2006 -0800"
      },
      "message": "[PATCH] migrate_pages_to() must be defined for the no swap case\n\nFix migrate_pages_to() definition.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0500abf52109d09bf60d740dec2e41d6cf265688",
      "tree": "1f1b4479e5ec5643647c02547bebe162ea8245a7",
      "parents": [
        "48b192686dd20cb1576ae1d8ccd17a07971ef24a"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:29:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:48 2006 -0800"
      },
      "message": "[PATCH] drivers/mtd/: small cleanups\n\n- chips/sharp.c: make two needlessly global functions static\n\n- move some declarations to a header file where they belong to\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48b192686dd20cb1576ae1d8ccd17a07971ef24a",
      "tree": "a4e5f5a74c230439fdbdc895f7874c68bf505565",
      "parents": [
        "040d79f906654d55c810313f29c6605593bf21c5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 31 02:29:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:48 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: drivers/mtd/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ab9391dea6e36fed13443c29bf97d3be05f5289",
      "tree": "8bc492fe3df71457caf8009bd081b9be0ec1074a",
      "parents": [
        "f19180056ea09ec6a5d32e741234451a1e6eba4d"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Mar 31 10:28:29 2006 -0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Fri Mar 31 10:28:29 2006 -0800"
      },
      "message": "[IA64] Avoid \"u64 foo : 32;\" for gcc3 vs. gcc4 compatibility\n\ngcc3 thinks that a 32-bit field of a u64 type is itself a u64, so\nshould be printed with \"%ld\".  gcc4 thinks it needs just \"%d\".\nMake both versions happy by avoiding this construct.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "025be81e83043f20538dcced1e12c5f8d152fbdb",
      "tree": "b5789ee2931739c7066f5369ce699ef4f3fa758e",
      "parents": [
        "0803dbed7a23721d091639c9e173c0389dcd524a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "message": "[NET]: Allow skb headroom to be overridden\n\nPreviously we added NET_IP_ALIGN so an architecture can override the\npadding done to align headers. The next step is to allow the skb\nheadroom to be overridden.\n\nWe currently always reserve 16 bytes to grow into, meaning all DMAs\nstart 16 bytes into a cacheline. On ppc64 we really want DMA writes to\nstart on a cacheline boundary, so we increase that headroom to one\ncacheline.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0803dbed7a23721d091639c9e173c0389dcd524a",
      "tree": "349668b826a66cf669dc48612a12047620662af9",
      "parents": [
        "c08e49611a8b4e38a75bf217e1029a48faf10b82"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 02:25:46 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 31 02:25:46 2006 -0800"
      },
      "message": "[TCP]: Kill unused extern decl for tcp_v4_hash_connecting()\n\nNoticed by Alan Menegotto.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f19180056ea09ec6a5d32e741234451a1e6eba4d",
      "tree": "386a178dd80773e3b62e6989f4faaaddb9602aa8",
      "parents": [
        "d1127e40e8d75cd3855e35424937c73d0bcec558"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Mon Feb 27 11:37:45 2006 +0800"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Mar 30 17:14:12 2006 -0800"
      },
      "message": "[IA64] Export cpu cache info by sysfs\n\nThe patch exports 8 attributes of cpu cache info under\n/sys/devices/system/cpu/cpuX/cache/indexX:\n1) level\n2) type\n3) coherency_line_size\n4) ways_of_associativity\n5) size\n6) shared_cpu_map\n7) attributes\n8) number_of_sets: number_of_sets\u003dsize/ways_of_associativity/coherency_line_size.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "ce362c009250340358a7221f3cdb7954cbf19c01",
      "tree": "38b4700e51d3cce214690e7882069e0e12abf8d4",
      "parents": [
        "064c94f9da8845f12446ab37142aa10f3c6f66ac",
        "cd7a9202a5a6e7712df2b80ed5ebd7b078130fc3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 15:04:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 15:04:13 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: (24 commits)\n  [PARISC] Fix double free when removing HIL drivers\n  [PARISC] Add atomic_sub_and_test\n  [PARISC] Enabled some NLS modules in a500, b180 and c3000 defconfigs\n  [PARISC] Kill duplicated EXPORT_SYMBOL warnings\n  [PARISC] Move ioremap EXPORT_SYMBOL from parisc_ksyms.c\n  [PARISC] Make local_t use atomic_long_t\n  [PARISC] Update defconfigs\n  [PARISC] Add PREEMPT support\n  [PARISC] More useful readwrite lock helpers\n  [PARISC] Convert HIL drivers to use input_allocate_device\n  [PARISC] Fixup CONFIG_EISA a bit\n  [PARISC] getsockopt should be ENTRY_COMP\n  [PARISC] Remove obsolete CONFIG_DEBUG_IOREMAP\n  [PARISC] Temporary FIXME for ioremapping EISA regions\n  [PARISC] Enable ioremap functionality unconditionally\n  [PARISC] Fix stifb with IOREMAP and a 64-bit kernel\n  [PARISC] Add CONFIG_HPPA_IOREMAP to conditionally enable ioremap\n  [PARISC] Add STRICT_MM_TYPECHECKS\n  [PARISC] Fix IOREMAP with a 64-bit kernel\n  [PARISC] Add parisc implementation of flush_kernel_dcache_page()\n  ...\n"
    },
    {
      "commit": "064c94f9da8845f12446ab37142aa10f3c6f66ac",
      "tree": "974a69a06e7f9218ad987e41fc6627d62eac091e",
      "parents": [
        "256414dee44eaa0983f5ab1a71877de23c4e9ce7",
        "618a3c03fcfdf1ac4543247c8ddfb0c9d775ff33"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:32:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:32:38 2006 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mad: RMPP support for additional classes\n  IB/mad: include GID/class when matching receives\n  IB/mthca: Fix section mismatch problems\n  IPoIB: Fix oops with raw sockets\n  IB/mthca: Fix check of size in SRQ creation\n  IB/srp: Fix unmapping of fake scatterlist\n"
    },
    {
      "commit": "256414dee44eaa0983f5ab1a71877de23c4e9ce7",
      "tree": "770768cdd6ff6324f55fd305cb26109e89322fb0",
      "parents": [
        "63e8d9114dab88c101be2372cb1f83a4fe74d9c1",
        "55d8ca4f8094246da6e71889a4e04bfafaa78b10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:29:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 14:29:20 2006 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [PATCH] sata_mv: three bug fixes\n  [PATCH] libata: ata_dev_init_params() fixes\n  [PATCH] libata: Fix interesting use of \"extern\" and also some bracketing\n  [PATCH] libata: Simplex and other mode filtering logic\n  [PATCH] libata - ATA is both ATA and CFA\n  [PATCH] libata: Add -\u003eset_mode hook for odd drivers\n  [PATCH] libata: BMDMA handling updates\n  [PATCH] libata: kill trailing whitespace\n  [PATCH] libata: add FIXME above ata_dev_xfermask()\n  [PATCH] libata: cosmetic changes in ata_bus_softreset()\n  [PATCH] libata: kill E.D.D.\n"
    },
    {
      "commit": "d1127e40e8d75cd3855e35424937c73d0bcec558",
      "tree": "093f020e971827c63d3eed1d646022c581ded2ea",
      "parents": [
        "5abc97aa25b2c41413b3a520faee83f2282d9f18",
        "c1c57d767100417f63c18da52d7e96f82b2b9e1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:38:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:38:18 2006 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] ioremap() should prefer WB over UC\n  [IA64] Add __mca_table to the DISCARD list in gate.lds\n  [IA64] Move __mca_table out of the __init section\n  [IA64] simplify some condition checks in iosapic_check_gsi_range\n  [IA64] correct some messages and fixes some minor things\n  [IA64-SGI] fix for-loop in sn_hwperf_geoid_to_cnode()\n  [IA64-SGI] sn_hwperf use of num_online_cpus()\n  [IA64] optimize flush_tlb_range on large numa box\n  [IA64] lazy_mmu_prot_update needs to be aware of huge pages\n"
    },
    {
      "commit": "5abc97aa25b2c41413b3a520faee83f2282d9f18",
      "tree": "4ba13ae0e91f15d02986df7cdca5e9455212d7d4",
      "parents": [
        "5274f052e7b3dbd81935772eb551dfd0325dfa9d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:16:46 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] splice: add support for SPLICE_F_MOVE flag\n\nThis enables the caller to migrate pages from one address space page\ncache to another.  In buzz word marketing, you can do zero-copy file\ncopies!\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5274f052e7b3dbd81935772eb551dfd0325dfa9d",
      "tree": "c79f813ec513660edb6f1e4a75cb366c6b84f53f",
      "parents": [
        "5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Thu Mar 30 15:15:30 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 30 12:28:18 2006 -0800"
      },
      "message": "[PATCH] Introduce sys_splice() system call\n\nThis adds support for the sys_splice system call. Using a pipe as a\ntransport, it can connect to files or sockets (latter as output only).\n\nFrom the splice.c comments:\n\n   \"splice\": joining two ropes together by interweaving their strands.\n\n   This is the \"extended pipe\" functionality, where a pipe is used as\n   an arbitrary in-memory buffer. Think of a pipe as a small kernel\n   buffer that you can use to transfer data from one end to the other.\n\n   The traditional unix read/write is extended with a \"splice()\" operation\n   that transfers data buffers to or from a pipe buffer.\n\n   Named by Larry McVoy, original implementation from Linus, extended by\n   Jens to support splicing to files and fixing the initial implementation\n   bugs.\n\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4da9f131a74d12de56c44da6d522a9116da06805",
      "tree": "920ca1331e8d1a4658fb44269c4d6ebbbc30a390",
      "parents": [
        "a2d33807061133c8bb5cf515eec16e6900f26bc6"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Wed Mar 29 19:47:32 2006 -0500"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:59 2006 +0000"
      },
      "message": "[PARISC] Add atomic_sub_and_test\n\nDefine atomic_sub_and_test to fix build failures.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "2746ae14fe55f9483ae94ef89d4495d0eb8ee03d",
      "tree": "a029c1f0c17a2330e92108693ffd1b5260941059",
      "parents": [
        "6f0b45152d458f86f11e8a601735af1c352e6f6c"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Wed Mar 29 07:04:49 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:56 2006 +0000"
      },
      "message": "[PARISC] Make local_t use atomic_long_t\n\nAs done in asm-generic/local.h in mainline. Otherwise local_t was 32-bit\neven on a 64-bit kernel.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "50a34dbd612925f2ec55b1781632835ef36b97d5",
      "tree": "1624f33bdbdd367efb8fadebe80da7db275ea1e6",
      "parents": [
        "bc8846c522264d2522b0082321ec8c2051a4536f"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Mar 24 21:24:21 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:54 2006 +0000"
      },
      "message": "[PARISC] Add PREEMPT support\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "bc8846c522264d2522b0082321ec8c2051a4536f",
      "tree": "a35d34fef7473635b58f4de04d50c5c897e74ce3",
      "parents": [
        "102c8c76f787add0790406d5c47e03cb6f8765c2"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@parisc-linux.org",
        "time": "Fri Mar 24 21:22:02 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:53 2006 +0000"
      },
      "message": "[PARISC] More useful readwrite lock helpers\n\nspinlock.c needs _can_lock helpers. Rewrite _is_locked helpers to be\n_can_lock helpers.\n\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "10267cdd0c2dee46a3f59d93fbfac7229d416dba",
      "tree": "4057b966c302bef27be70a5cb0331317408298db",
      "parents": [
        "b29eac43023bb1b62081efa878c3cf72cb39c437"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Sun Mar 26 01:54:16 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:52 2006 +0000"
      },
      "message": "[PARISC] Fixup CONFIG_EISA a bit\n\nFix up some ISA/EISA stuff.\n\n(Note: isa_ accessors have been removed from asm/io.h)\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "a41d3862dfd44a1b09a0f6243bb34773061fd9a2",
      "tree": "a290e1f3da6bc28cea62f9010482e962c50e3e32",
      "parents": [
        "cb4ab59cd6136f6ad6b3513054ac969fea02dfc6"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Thu Mar 23 01:07:00 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:50 2006 +0000"
      },
      "message": "[PARISC] Remove obsolete CONFIG_DEBUG_IOREMAP\n\nRemove CONFIG_DEBUG_IOREMAP, it\u0027s now obsolete and won\u0027t work anyway.\nRemove it from lib/KConfig since it was only available on parisc.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "29ef8295327653ff09a56285c35213cd31fa54b3",
      "tree": "f438a0a36fcde67c3ea6db45b1400c29eb9366be",
      "parents": [
        "857600c77161fd36e30cd6bcca9a0a8676036323"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Thu Mar 23 00:32:46 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:48 2006 +0000"
      },
      "message": "[PARISC] Enable ioremap functionality unconditionally\n\nEnable CONFIG_HPPA_IOREMAP by default and remove all now unnecessary code.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "b8ce0aadcdebbaf5ec013c57e2a0803060817bcc",
      "tree": "c910b16935911a5cfaee98b5e6040fe6e1918fd9",
      "parents": [
        "b31059f7634931a06f6811247ae9217d1a833a46"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Tue Mar 07 14:12:13 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:46 2006 +0000"
      },
      "message": "[PARISC] Add CONFIG_HPPA_IOREMAP to conditionally enable ioremap\n\nInstead of making it a #define in asm/io.h, allow user to select\nto turn on IOREMAP from the config menu.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "b31059f7634931a06f6811247ae9217d1a833a46",
      "tree": "916b5f3b8e76f7ae1ee8b6820d344d2f5326250d",
      "parents": [
        "b9e71ac13a71bb435a4146d868080f5389bb906c"
      ],
      "author": {
        "name": "Helge Deller",
        "email": "deller@parisc-linux.org",
        "time": "Thu Mar 23 15:48:15 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:45 2006 +0000"
      },
      "message": "[PARISC] Add STRICT_MM_TYPECHECKS\n\nAdd STRICT_MM_TYPECHECKS to page.h as other architectures do.\n\nSigned-off-by: Helge Deller \u003cdeller@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "ba57583396585a1ca509e2a84d970a2ff3f9bbfb",
      "tree": "29568b37c8f4af9edc86d702a98713b0f016c78a",
      "parents": [
        "ab43227c8a568119a3aebc952a95ac3023e1730d"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@parisc-linux.org",
        "time": "Wed Mar 22 09:42:04 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:44 2006 +0000"
      },
      "message": "[PARISC] Add parisc implementation of flush_kernel_dcache_page()\n\nWe need to do a little renaming of our original syntax because\nof the difference in arguments.\n\nSigned-off-by: James Bottomley \u003cjejb@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "ab43227c8a568119a3aebc952a95ac3023e1730d",
      "tree": "f387220ee827f61e18c53c0143be7068ecaa5d61",
      "parents": [
        "5076c15862644edb91d2e3436b2fa3e07b28385d"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@parisc-linux.org",
        "time": "Wed Mar 22 08:28:59 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:43 2006 +0000"
      },
      "message": "[PARISC] Add parisc implementation of flush_anon_page()\n\nThis should now allow SG_IO and fuse to function correctly on our\nplatform.\n\nSigned-off-by: James Bottomley \u003cjejb@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "a81dd18eb974cc34634c53a6447b2799ec0c3158",
      "tree": "e607fe41c0c8a754d679b5d787feb0afbae3da94",
      "parents": [
        "5d4fe2c1ce83c3e967ccc1ba3d580c1a5603a866"
      ],
      "author": {
        "name": "Thibaut VARENE",
        "email": "varenet@parisc-linux.org",
        "time": "Fri Feb 03 18:06:30 2006 -0700"
      },
      "committer": {
        "name": "Kyle McMartin",
        "email": "kyle@hera.kernel.org",
        "time": "Thu Mar 30 17:48:41 2006 +0000"
      },
      "message": "[PARISC] Clarify pdc_stable license terms\n\npdc_stable.c is explicitly licensed under GPL version 2.\n\nSigned-off-by: Thibaut VARENE \u003cvarenet@parisc-linux.org\u003e\nSigned-off-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\n"
    },
    {
      "commit": "3283a67d8618c9a292eced23e8753ab64adc6dba",
      "tree": "b46c784c8b6cca63b8878f8838fa3bbf1604280f",
      "parents": [
        "d89cfe7f1e82d758a7983584c1593795d4e2c098"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Thu Mar 30 10:13:22 2006 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Mar 30 09:04:19 2006 -0800"
      },
      "message": "[IA64] Add __mca_table to the DISCARD list in gate.lds\n\nAdd __mca_table to the DISCARD list for the gate.lds linker script to\navoid broken linker references when linking the final vmlinux file.\n\nAlso add comment to include/asm-ia64/asmmacros.h to avoid anyone else\nhitting this problem in the future.\n\nCredits to James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e for spotting\nthe DISCARD list in gate.lds.S\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "618a3c03fcfdf1ac4543247c8ddfb0c9d775ff33",
      "tree": "9b3c0baf53f0fcab01848b7816aace785afd8a94",
      "parents": [
        "fa9656bbd9af5b95adc43eaa0a143992346378cb"
      ],
      "author": {
        "name": "Hal Rosenstock",
        "email": "halr@voltaire.com",
        "time": "Tue Mar 28 16:40:04 2006 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Mar 30 07:19:51 2006 -0800"
      },
      "message": "IB/mad: RMPP support for additional classes\n\nAdd RMPP support for additional management classes that support it.\nAlso, validate RMPP is consistent with management class specified.\n\nSigned-off-by: Hal Rosenstock \u003chalr@voltaire.com\u003e\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "cc3d48db75235adf0ae37d3287f6f9e14657d1ae",
      "tree": "1c108ed8b7a5973b6ebbeb08fb5ce7602be0e6fc",
      "parents": [
        "fd88dd740ad7b92cd399b6116dfa9486b36ffaff"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Thu Mar 30 10:51:44 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Mar 30 10:51:44 2006 +0100"
      },
      "message": "[ARM] 3424/2: ixp23xx: fix uncompress.h for recent CRLF decompressor change\n\nPatch from Lennert Buytenhek\n\nAdapt ixp23xx uncompress.h to a081568d7016061ed848696984e3acf1ba0b3054.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd88dd740ad7b92cd399b6116dfa9486b36ffaff",
      "tree": "1d322e8e8a458bf7a0af9b616d97d2c5bb958a49",
      "parents": [
        "b48340aff031db98dbd34a4bbc575eec9bb78359"
      ],
      "author": {
        "name": "Marc-Andre Hebert",
        "email": "marcandreh@humanware.ca",
        "time": "Thu Mar 30 10:24:08 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Mar 30 10:24:08 2006 +0100"
      },
      "message": "[ARM] 3434/1: pxa i2s amsl define\n\nPatch from Marc-Andre Hebert\n\nThe error concerns a bit mask define for the AMSL bit of the SACR1 register in the 2.6 kernel tree. The AMSL is bit 0 and it was defined as so in the 2.4 kernel tree but it is inccorrectly set as bit 1 (a reserved bit) in the 2.6 kernel tree.\n\nSigned-off-by: Marc-Andre Hebert \u003cmarcandreh@humanware.ca\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "d53ace70052b5c0a08a4f92993c0614f84920abf",
      "tree": "1ac610aced6be5dd09433a04114bf842c2326799",
      "parents": [
        "6896eec0296c400db95e4382095fd4d6cf59800c"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Wed Mar 29 09:42:43 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Mar 30 10:22:01 2006 +0100"
      },
      "message": "[ARM] Allow un-muxed syscalls to be available for everyone\n\nIt\u0027s been a while since the un-muxed socket and ipc syscalls were\nintroduced, so make the unistd.h number definitions visible for\nnon-EABI as well as EABI.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "5444a6f405618706eddbe1605ef8533b1b655764",
      "tree": "9265a1e65563add47a9fe5f1ddae44d6dd0742e3",
      "parents": [
        "692785e798f341c057ff976c35a3d86ad5af8ac6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:58:20 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:28 2006 -0500"
      },
      "message": "[PATCH] libata: Simplex and other mode filtering logic\n\nAdd a field to the host_set called \u0027flags\u0027 (was host_set_flags changed\nto suit Jeff)\nAdd a simplex_claimed field so we can remember who owns the DMA channel\nAdd a -\u003emode_filter() hook to allow drivers to filter modes\nAdd docs for mode_filter and set_mode\nFilter according to simplex state\nFilter cable in core\n\nThis provides the needed framework to support all the mode rules found\nin the PATA world. The simplex filter deals with \u0027to spec\u0027 simplex DMA\nsystems found in older chips. The cable filter avoids duplicating the\nsame rules in each chip driver with PATA. Finally the mode filter is\nneccessary because drive/chip combinations have errata that forbid\ncertain modes with some drives or types of ATA object.\n\nDrive speed setup remains per channel for now and the filters now use\nthe framework Tejun put into place which cleans them up a lot from the\nolder libata-pata patches.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e35a9e01f2a504871e70576a9e11dbe4d8dee456",
      "tree": "4761c2d8b9d827d95cc531376e5c02666734ecf6",
      "parents": [
        "4e5ec5dba22ea509b1a004f9815751f0ffc815e5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:46:37 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: Add -\u003eset_mode hook for odd drivers\n\nSome hardware doesn\u0027t want the usual mode setup logic running. This\nallows the hardware driver to replace it for special cases in the least\ninvasive way possible.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "4e5ec5dba22ea509b1a004f9815751f0ffc815e5",
      "tree": "d7387c3051e51a8bca060918f4a3a8a1a7962715",
      "parents": [
        "05c8e0ac5c37e9739a852b526afeecae97607cbb"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Mar 27 18:42:40 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 19:30:27 2006 -0500"
      },
      "message": "[PATCH] libata: BMDMA handling updates\n\nThis is the minimal patch set to enable the current code to be used with\na controller following SFF (ie any PATA and early SATA controllers)\nsafely without crashes if there is no BMDMA area or if BMDMA is not\nassigned by the BIOS for some reason.\n\nSimplex status is recorded but not acted upon in this change, this isn\u0027t\na problem with the current drivers as none of them are for simplex\nhardware. A following diff will deal with that.\n\nThe flags in the probe structure remain -\u003ehost_set_flags although Jeff\nasked me to rename them, simply because the rename would break the usual\nLinux rules that old code should break when there are changes. not\ncompile and run and then blow up/eat your computer/etc. Renaming this\nlater is a trivial exercise once a better name is chosen.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "56079431b6ba163df8ba26b3eccc82379f0c0ce4",
      "tree": "cdcfb1fdee55c567603ede007c7b0c91efe29b3a",
      "parents": [
        "68907dad58cd7ef11536e1db6baeb98b20af91b2"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Wed Mar 29 15:57:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 29 15:57:29 2006 -0800"
      },
      "message": "[NET]: Deinline some larger functions from netdevice.h\n\nOn a allyesconfig\u0027ured kernel:\n\nSize  Uses Wasted Name and definition\n\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n   95  162  12075 netif_wake_queue      include/linux/netdevice.h\n  129   86   9265 dev_kfree_skb_any     include/linux/netdevice.h\n  127   56   5885 netif_device_attach   include/linux/netdevice.h\n   73   86   4505 dev_kfree_skb_irq     include/linux/netdevice.h\n   46   60   1534 netif_device_detach   include/linux/netdevice.h\n  119   16   1485 __netif_rx_schedule   include/linux/netdevice.h\n  143    5    492 netif_rx_schedule     include/linux/netdevice.h\n   81    7    366 netif_schedule        include/linux/netdevice.h\n\nnetif_wake_queue is big because __netif_schedule is a big inline:\n\nstatic inline void __netif_schedule(struct net_device *dev)\n{\n        if (!test_and_set_bit(__LINK_STATE_SCHED, \u0026dev-\u003estate)) {\n                unsigned long flags;\n                struct softnet_data *sd;\n\n                local_irq_save(flags);\n                sd \u003d \u0026__get_cpu_var(softnet_data);\n                dev-\u003enext_sched \u003d sd-\u003eoutput_queue;\n                sd-\u003eoutput_queue \u003d dev;\n                raise_softirq_irqoff(NET_TX_SOFTIRQ);\n                local_irq_restore(flags);\n        }\n}\n\nstatic inline void netif_wake_queue(struct net_device *dev)\n{\n#ifdef CONFIG_NETPOLL_TRAP\n        if (netpoll_trap())\n                return;\n#endif\n        if (test_and_clear_bit(__LINK_STATE_XOFF, \u0026dev-\u003estate))\n                __netif_schedule(dev);\n}\n\nBy de-inlining __netif_schedule we are saving a lot of text\nat each callsite of netif_wake_queue and netif_schedule.\n__netif_rx_schedule is also big, and it makes more sense to keep\nboth of them out of line.\n\nPatch also deinlines dev_kfree_skb_any. We can deinline dev_kfree_skb_irq\ninstead... oh well.\n\nnetif_device_attach/detach are not hot paths, we can deinline them too.\n\nSigned-off-by: Denis Vlasenko \u003cvda@ilport.com.ua\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e02a4cabfcb9a999b74a2e2e6f13ffcb7ff2d606",
      "tree": "2f3db60be4c57eca2a4c3ab3f3122dcf1ec0c624",
      "parents": [
        "600511e86babe3727264a0883a3a264f6fb6caf5",
        "f3cab8a0b1a772dc8b055b7affa567a366627c9e"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 17:18:49 2006 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Mar 29 17:18:49 2006 -0500"
      },
      "message": "Merge branch \u0027master\u0027\n"
    },
    {
      "commit": "f3cab8a0b1a772dc8b055b7affa567a366627c9e",
      "tree": "39c4736047e7f1f6617a4703b3ebf62df1d68d34",
      "parents": [
        "76babde121d2ffef04ca692ce64ef9f8a9866086",
        "65b4b4e81a5094d52cbe372b887b1779abe53f9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:29:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:29:33 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [NETFILTER]: Rename init functions.\n  [TCP]: Fix RFC2465 typo.\n  [INET]: Introduce tunnel4/tunnel6\n  [NET]: deinline 200+ byte inlines in sock.h\n  [ECONET]: Convert away from SOCKOPS_WRAPPED\n  [NET]: Fix ipx/econet/appletalk/irda ioctl crashes\n  [NET]: Kill Documentation/networking/TODO\n  [TG3]: Update version and reldate\n  [TG3]: Skip timer code during full lock\n  [TG3]: Speed up SRAM access\n  [TG3]: Fix PHY loopback on 5700\n  [TG3]: Fix bug in 40-bit DMA workaround code\n  [TG3]: Fix probe failure due to invalid MAC address\n"
    },
    {
      "commit": "76babde121d2ffef04ca692ce64ef9f8a9866086",
      "tree": "294923bbb4974258d86d223e35eee691abacdfb1",
      "parents": [
        "e71ac6032edf77a1e4a81f3e3b260807e94b37a5",
        "15e812ad849e142e3dfc984d33c4d8042389f148"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:28:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 29 11:28:30 2006 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (67 commits)\n  [PATCH] powerpc: Remove oprofile spinlock backtrace code\n  [PATCH] powerpc: Add oprofile calltrace support to all powerpc cpus\n  [PATCH] powerpc: Add oprofile calltrace support\n  [PATCH] for_each_possible_cpu: ppc\n  [PATCH] for_each_possible_cpu: powerpc\n  [PATCH] lock PTE before updating it in 440/BookE page fault handler\n  [PATCH] powerpc: Kill _machine and hard-coded platform numbers\n  ppc: Fix compile error in arch/ppc/lib/strcase.c\n  [PATCH] git-powerpc: WARN was a dumb idea\n  [PATCH] powerpc: a couple of trivial compile warning fixes\n  powerpc: remove OCP references\n  powerpc: Make uImage default build output for MPC8540 ADS\n  powerpc: move math-emu over to arch/powerpc\n  powerpc: use memparse() for mem\u003d command line parsing\n  ppc: fix strncasecmp prototype\n  [PATCH] powerpc: make ISA floppies work again\n  [PATCH] powerpc: Fix some initcall return values\n  [PATCH] powerpc: Workaround for pSeries RTAS bug\n  [PATCH] spufs: fix __init/__exit annotations\n  [PATCH] powerpc: add hvc backend for rtas\n  ...\n"
    },
    {
      "commit": "15e812ad849e142e3dfc984d33c4d8042389f148",
      "tree": "e2d50c583457e8c4b2d06eea9846c04d0f5629d7",
      "parents": [
        "fa465f8c7008c6cab32b05f3f1af57f7c86e8873"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Mar 27 12:00:45 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:44:16 2006 +1100"
      },
      "message": "[PATCH] powerpc: Remove oprofile spinlock backtrace code\n\nRemove oprofile spinlock backtrace code now we have proper calltrace\nsupport. Also make MMCRA sihv and sipr bits a variable since they may\nchange in future cpus. Finally, MMCRA should be a 64bit quantity.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "6c6bd754bf43d59756f094de144ecac239629dda",
      "tree": "b6cf2a7a3f133d24d22c63ba7bb8f9ebb02a8bab",
      "parents": [
        "b848e0a07dd5a874821bb587bb724fac4aa45bad"
      ],
      "author": {
        "name": "Brian Rogan",
        "email": "bcr6@cornell.edu",
        "time": "Mon Mar 27 11:57:01 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:44:16 2006 +1100"
      },
      "message": "[PATCH] powerpc: Add oprofile calltrace support\n\nAdd oprofile calltrace support to powerpc. Disable spinlock backtracing\nnow we can use calltrace info.\n\n(Updated to work on both 32bit and 64bit by me).\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "0e5519548fdc8eadc3eacb49b1908d44d347fb2b",
      "tree": "176d01babed4ece005f6c4715c464411c4262e9b",
      "parents": [
        "bab70a4af737f623de5b034976a311055308ab86"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 14:50:51 2006 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:44:15 2006 +1100"
      },
      "message": "[PATCH] for_each_possible_cpu: powerpc\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had mistakes\nin the past where people were using for_each_cpu() where they should have been\niterating across only online or present CPUs.  This is inefficient and\npossibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the\nfuture.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "bab70a4af737f623de5b034976a311055308ab86",
      "tree": "f8c0e9463de01323db2cb1a62f4eb83adb5ce7ca",
      "parents": [
        "bac30d1a78d0f11c613968fc8b351a91ed465386"
      ],
      "author": {
        "name": "Eugene Surovegin",
        "email": "ebs@ebshome.net",
        "time": "Tue Mar 28 10:13:12 2006 -0800"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:44:15 2006 +1100"
      },
      "message": "[PATCH] lock PTE before updating it in 440/BookE page fault handler\n\nFix 44x and BookE page fault handler to correctly lock PTE before\ntrying to pte_update() it, otherwise this PTE might be swapped out\nafter pte_present() check but before pte_uptdate() call, resulting in\ncorrupted PTE. This can happen with enabled preemption and low memory\ncondition.\n\nSigned-off-by: Eugene Surovegin \u003cebs@ebshome.net\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "a7e5328a06a2beee3a2bbfaf87ce2a7bbe937de1",
      "tree": "168102a80e9b98d19e8bf39156d35dacdb253c3d",
      "parents": [
        "4a2c7a7837da1b91468e50426066d988050e4d56"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:44 2006 -0800"
      },
      "message": "[PATCH] cleanup __exit_signal-\u003ecleanup_sighand path\n\nMove \u0027tsk-\u003esighand \u003d NULL\u0027 from cleanup_sighand() to __exit_signal().  This\nmakes the exit path more understandable and allows us to do\ncleanup_sighand() outside of -\u003esiglock protected section.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "47e65328a7b1cdfc4e3102e50d60faf94ebba7d3",
      "tree": "78e00a5321cca87767806a91e623e71b5c6637c7",
      "parents": [
        "88531f725bd52e37a7be726860e4ff3f09031d89"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:44 2006 -0800"
      },
      "message": "[PATCH] pids: kill PIDTYPE_TGID\n\nThis patch kills PIDTYPE_TGID pid_type thus saving one hash table in\nkernel/pid.c and speeding up subthreads create/destroy a bit.  It is also a\npreparation for the further tref/pids rework.\n\nThis patch adds \u0027struct list_head thread_group\u0027 to \u0027struct task_struct\u0027\ninstead.\n\nWe don\u0027t detach group leader from PIDTYPE_PID namespace until another\nthread inherits it\u0027s -\u003epid \u003d\u003d -\u003etgid, so we are safe wrt premature\nfree_pidmap(-\u003etgid) call.\n\nCurrently there are no users of find_task_by_pid_type(PIDTYPE_TGID).\nShould the need arise, we can use find_task_by_pid()-\u003egroup_leader.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-By: Eric Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a14c5c9da0b4c34b5be783403c54f0396fcfe77",
      "tree": "63e40e5761eb5327ae4f713b284c67128cb4d261",
      "parents": [
        "c81addc9d3a0ebff2155e0cd86f90820ab97147e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] move __exit_signal() to kernel/exit.c\n\n__exit_signal() is private to release_task() now.  I think it is better to\nmake it static in kernel/exit.c and export flush_sigqueue() instead - this\nfunction is much more simple and straightforward.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c81addc9d3a0ebff2155e0cd86f90820ab97147e",
      "tree": "56eb3a50f71e7a0e2a0f0daef4ec097375b06f8d",
      "parents": [
        "29ff471234d53c7235db287bc52f91884c2977c6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:43 2006 -0800"
      },
      "message": "[PATCH] rename __exit_sighand to cleanup_sighand\n\nCosmetic, rename __exit_sighand to cleanup_sighand and move it close to\ncopy_sighand().\n\nThis matches copy_signal/cleanup_signal naming, and I think it is easier to\nfollow.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b3934ef52712ece50605dfc72e55d00c580831a",
      "tree": "5ec3c4f69a20880f75de6ff8d7d2f67d96328df3",
      "parents": [
        "7001510d0cbf51ad202dd2d0744f54104285cbb9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_signal\n\n__exit_signal() does important cleanups atomically under -\u003esiglock.  It is\nalso called from copy_process\u0027s error path.  This is not good, for example we\ncan\u0027t move __unhash_process() under -\u003esiglock for that reason.\n\nWe should not mix these 2 paths, just look at ugly \u0027if (p-\u003esighand)\u0027 under\n\u0027bad_fork_cleanup_sighand:\u0027 label.  For copy_process() case it is sufficient\nto just backout copy_signal(), nothing more.\n\nAgain, nobody can see this task yet.  For CLONE_THREAD case we just decrement\nsignal-\u003ecount, otherwise nobody can see this -\u003esignal and we can free it\nlockless.\n\nThis patch assumes it is safe to do exit_thread_group_keys() without\ntasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7001510d0cbf51ad202dd2d0744f54104285cbb9",
      "tree": "1df2a6930c460c12026231634b86d14b153a4a86",
      "parents": [
        "a9e88e84b5245da0a1dadb6ccca70ae84e93ccf6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] copy_process: cleanup bad_fork_cleanup_sighand\n\nThe only caller of exit_sighand(tsk) is copy_process\u0027s error path.  We can\ncall __exit_sighand() directly and kill exit_sighand().\n\nThis \u0027tsk\u0027 was not yet registered in pid_hash[] or init_task.tasks, it has no\nexternal references, nobody can see it, and\n\n\tIF (clone_flags \u0026 CLONE_SIGHAND)\n\t\tAt least \u0027current\u0027 has a reference to -\u003esighand, this\n\t\tmeans atomic_dec_and_test(sighand-\u003ecount) can\u0027t be true.\n\n\tELSE\n\t\tNobody can see this -\u003esighand, this means we can free it\n\t\twithout any locking.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f63ee72e0fb82e504a0489490babc7612c7cd6c2",
      "tree": "85167f8016d1f746135bf1777646a58c44376af1",
      "parents": [
        "aa1757f90bea3f598b6e5d04d922a6a60200f1da"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] introduce lock_task_sighand() helper\n\nAdd lock_task_sighand() helper and converts group_send_sig_info() to use\nit.  Hopefully we will have more users soon.\n\nThis patch also removes \u0027!sighand-\u003ecount\u0027 and \u0027!p-\u003eusage\u0027 checks, I think\nthey both are bogus, racy and unneeded (but probably it makes sense to\nrestore them as BUG_ON()s).\n\n-\u003esighand is cleared and it\u0027s -\u003ecount is decremented in release_task() with\nsighand-\u003esiglock held, so it is a bug to have \u0027!p-\u003eusage || !-\u003ecount\u0027 after\nwe already locked and verified it is the same.  On the other hand, an\nalready dead task without -\u003esighand can have a non-zero -\u003eusage due to\nptrace, for example.\n\nIf we read the stale value of -\u003esighand we must see the change after\nspin_lock(), because that change was done while holding that same old\n-\u003esighand.siglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aa1757f90bea3f598b6e5d04d922a6a60200f1da",
      "tree": "4f8f3804b2595031d0b84de7086dc28375290f0d",
      "parents": [
        "1f09f9749cdde4e69f95d62d96d2e03f50b3353c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:42 2006 -0800"
      },
      "message": "[PATCH] convert sighand_cache to use SLAB_DESTROY_BY_RCU\n\nThis patch borrows a clever Hugh\u0027s \u0027struct anon_vma\u0027 trick.\n\nWithout tasklist_lock held we can\u0027t trust task-\u003esighand until we locked it\nand re-checked that it is still the same.\n\nBut this means we don\u0027t need to defer \u0027kmem_cache_free(sighand)\u0027.  We can\nreturn the memory to slab immediately, all we need is to be sure that\nsighand-\u003esiglock can\u0027t dissapear inside rcu protected section.\n\nTo do so we need to initialize -\u003esiglock inside ctor function,\nSLAB_DESTROY_BY_RCU does the rest.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c7c6464117a02b0d54feb4ebeca4db70fa493678",
      "tree": "903498de6685d769631edbd7bce7609d07365946",
      "parents": [
        "73b9ebfe126a4a886ee46cbab637374d7024668a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] pidhash: don\u0027t use zero pids\n\ndaemonize() calls set_special_pids(1,1), while init and kernel threads spawned\nfrom init/main.c:init() run with 0,0 special pids.  This patch changes\nINIT_SIGNALS() so that that they run with -\u003epgrp \u003d\u003d -\u003esession \u003d\u003d 1 also.  This\npatch relies on fact that swapper\u0027s pid \u003d\u003d 1.\n\nNow we have no hashed zero pids in pid_hash[].\n\nUser-space visibible change is that now /sbin/init runs with (1,1) special\npids and becomes a session leader.\n\nQuoting Eric W. Biederman:\n\u003e\n\u003e daemonize consuming pids (1,1) then consumes pgrp 1.  So that when\n\u003e /sbin/init calls setsid() it thinks /sbin/init is a process group\n\u003e leader and setsid() fails.  So /sbin/init wants pgrp 1 session 1\n\u003e but doesn\u0027t get it.  I am pretty certain daemonize did not exist so\n\u003e /sbin/init got pgrp 1 session 1 in 2.4.\n\u003e\n\u003e That is the bug that is being fixed.\n\u003e\n\u003e This patch takes things one step farther and essentially calls\n\u003e setsid() for pid \u003d\u003d 1 before init is execed.  That is new behavior\n\u003e but it cleans up the kernel as we now do not need to support the\n\u003e case of a process without a process group or a session.\n\u003e\n\u003e The only process that could have possibly cared was /sbin/init\n\u003e and it already calls setsid() because it doesn\u0027t want that.\n\u003e\n\u003e If this was going to break anything noticeable the change in behavior\n\u003e from 2.4 to 2.6 would have already done that.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73b9ebfe126a4a886ee46cbab637374d7024668a",
      "tree": "d7ba00d4ce76b49c1569334956cd196b35977a04",
      "parents": [
        "c97d98931ac52ef110b62d9b75c6a6f2bfbc1898"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] pidhash: don\u0027t count idle threads\n\nfork_idle() does unhash_process() just after copy_process().  Contrary,\nboot_cpu\u0027s idle thread explicitely registers itself for each pid_type with nr\n\u003d 0.\n\ncopy_process() already checks p-\u003epid !\u003d 0 before process_counts++, I think we\ncan just skip attach_pid() calls and job control inits for idle threads and\nkill unhash_process().  We don\u0027t need to cleanup -\u003eproc_dentry in fork_idle()\nbecause with this patch idle threads are never hashed in\nkernel/pid.c:pid_hash[].\n\nWe don\u0027t need to hash pid \u003d\u003d 0 in pidmap_init().  free_pidmap() is never\ncalled with pid \u003d\u003d 0 arg, so it will never be reused.  So it is still possible\nto use pid \u003d\u003d 0 in any PIDTYPE_xxx namespace from kernel/pid.c\u0027s POV.\n\nHowever with this patch we don\u0027t hash pid \u003d\u003d 0 for PIDTYPE_PID case.  We still\nhave have PIDTYPE_PGID/PIDTYPE_SID entries with pid \u003d\u003d 0: /sbin/init and\nkernel threads which don\u0027t call daemonize().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c97d98931ac52ef110b62d9b75c6a6f2bfbc1898",
      "tree": "f811f8b2862692c2eb7ee92e62e8f0afcfd37a2d",
      "parents": [
        "9b678ece42893b53aae5ed7cb8d7cb261cacb72c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] kill SET_LINKS/REMOVE_LINKS\n\nBoth SET_LINKS() and SET_LINKS/REMOVE_LINKS() have exactly one caller, and\nthese callers already check thread_group_leader().\n\nThis patch kills theese macros, they mix two different things: setting\nprocess\u0027s parent and registering it in init_task.tasks list.  Callers are\nupdated to do these actions by hand.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8fafabd86f1b75ed3cc6a6ffbe6c3e53e3d8457d",
      "tree": "3ae1a8fc44870ac3046213b11cad4aa8b3ce5f04",
      "parents": [
        "d799f03597cabc6112acb518fc8ab4487aa4f953"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Mar 28 16:11:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:41 2006 -0800"
      },
      "message": "[PATCH] remove add_parent()\u0027s parent argument\n\nadd_parent(p, parent) is always called with parent \u003d\u003d p-\u003eparent, and it makes\nno sense to do it differently.  This patch removes this argument.\n\nNo changes in affected .o files.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d73d65293e3e2de7e916a89c8da30be0948afab7",
      "tree": "62b0ca76e3099c927f2960856dd060b136a8ccef",
      "parents": [
        "652486fb84a07ed750f1c11639518f55808bf555"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 28 16:11:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:40 2006 -0800"
      },
      "message": "[PATCH] pidhash: kill switch_exec_pids\n\nswitch_exec_pids is only called from de_thread by way of exec, and it is\nonly called when we are exec\u0027ing from a non thread group leader.\n\nCurrently switch_exec_pids gives the leader the pid of the thread and\nunhashes and rehashes all of the process groups.  The leader is already in\nthe EXIT_DEAD state so no one cares about it\u0027s pids.  The only concern for\nthe leader is that __unhash_process called from release_task will function\ncorrectly.  If we don\u0027t touch the leader at all we know that\n__unhash_process will work fine so there is no need to touch the leader.\n\nFor the task becomming the thread group leader, we just need to give it the\npid of the old thread group leader, add it to the task list, and attach it\nto the session and the process group of the thread group.\n\nCurrently de_thread is also adding the task to the task list which is just\nsilly.\n\nCurrently the only leader of __detach_pid besides detach_pid is\nswitch_exec_pids because of the ugly extra work that was being\nperformed.\n\nSo this patch removes switch_exec_pids because it is doing too much, it is\ncreating an unnecessary special case in pid.c, duing work duplicated in\nde_thread, and generally obscuring what it is going on.\n\nThe necessary work is added to de_thread, and it seems to be a little\nclearer there what is going on.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6c99c5cb94319a601b5ec5ee31c331f84755dd74",
      "tree": "dca4d96ee6aa1cfbc36b3eaf060b14278e2bd0d7",
      "parents": [
        "1434261c07bcebd5ef8b8a18f919fdee533b84e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Mar 28 16:11:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 18:36:40 2006 -0800"
      },
      "message": "[PATCH] Remove dead kill_sl prototype from sched.h\n\nThe kill_sl function doesn\u0027t exist in the kernel so a prototype is completely\nunnecessary.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bac30d1a78d0f11c613968fc8b351a91ed465386",
      "tree": "e52f3c876522a2f6047a6ec1c27df2e8a79486b8",
      "parents": [
        "e8222502ee6157e2713da9e0792c21f4ad458d50",
        "ca9ba4471c1203bb6e759b76e83167fec54fe590"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:24:50 2006 +1100"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Wed Mar 29 13:24:50 2006 +1100"
      },
      "message": "Merge ../linux-2.6\n"
    },
    {
      "commit": "d2acc3479cbccd5cfbca6c787be713ef1de12ec6",
      "tree": "aa348e19e15027db9abdd2da175a0c9055047858",
      "parents": [
        "f0088a50e7c49d1ba285c88fe06345f223652fd3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Mar 28 01:12:13 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 17:02:46 2006 -0800"
      },
      "message": "[INET]: Introduce tunnel4/tunnel6\n\nBasically this patch moves the generic tunnel protocol stuff out of\nxfrm4_tunnel/xfrm6_tunnel and moves it into the new files of tunnel4.c\nand tunnel6 respectively.\n\nThe reason for this is that the problem that Hugo uncovered is only\nthe tip of the iceberg.  The real problem is that when we removed the\ndependency of ipip on xfrm4_tunnel we didn\u0027t really consider the module\ncase at all.\n\nFor instance, as it is it\u0027s possible to build both ipip and xfrm4_tunnel\nas modules and if the latter is loaded then ipip simply won\u0027t load.\n\nAfter considering the alternatives I\u0027ve decided that the best way out of\nthis is to restore the dependency of ipip on the non-xfrm-specific part\nof xfrm4_tunnel.  This is acceptable IMHO because the intention of the\nremoval was really to be able to use ipip without the xfrm subsystem.\nThis is still preserved by this patch.\n\nSo now both ipip/xfrm4_tunnel depend on the new tunnel4.c which handles\nthe arbitration between the two.  The order of processing is determined\nby a simple integer which ensures that ipip gets processed before\nxfrm4_tunnel.\n\nThe situation for ICMP handling is a little bit more complicated since\nwe may not have enough information to determine who it\u0027s for.  It\u0027s not\na big deal at the moment since the xfrm ICMP handlers are basically\nno-ops.  In future we can deal with this when we look at ICMP caching\nin general.\n\nThe user-visible change to this is the removal of the TUNNEL Kconfig\nprompts.  This makes sense because it can only be used through IPCOMP\nas it stands.\n\nThe addition of the new modules shouldn\u0027t introduce any problems since\nmodule dependency will cause them to be loaded.\n\nOh and I also turned some unnecessary pskb\u0027s in IPv6 related to this\npatch to skb\u0027s.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0088a50e7c49d1ba285c88fe06345f223652fd3",
      "tree": "82e3fd2dfbab6e7b73f6c6aabf9ba108d007e4da",
      "parents": [
        "1d1818316f0b61e0997a159680e1e631a23a407e"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda@ilport.com.ua",
        "time": "Tue Mar 28 01:08:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 28 17:02:45 2006 -0800"
      },
      "message": "[NET]: deinline 200+ byte inlines in sock.h\n\nSizes in bytes (allyesconfig, i386) and files where those inlines\nare used:\n\n238 sock_queue_rcv_skb 2.6.16/net/x25/x25_in.o\n238 sock_queue_rcv_skb 2.6.16/net/rose/rose_in.o\n238 sock_queue_rcv_skb 2.6.16/net/packet/af_packet.o\n238 sock_queue_rcv_skb 2.6.16/net/netrom/nr_in.o\n238 sock_queue_rcv_skb 2.6.16/net/llc/llc_sap.o\n238 sock_queue_rcv_skb 2.6.16/net/llc/llc_conn.o\n238 sock_queue_rcv_skb 2.6.16/net/irda/af_irda.o\n238 sock_queue_rcv_skb 2.6.16/net/ipx/af_ipx.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv6/udp.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv6/raw.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv4/udp.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv4/raw.o\n238 sock_queue_rcv_skb 2.6.16/net/ipv4/ipmr.o\n238 sock_queue_rcv_skb 2.6.16/net/econet/econet.o\n238 sock_queue_rcv_skb 2.6.16/net/econet/af_econet.o\n238 sock_queue_rcv_skb 2.6.16/net/bluetooth/sco.o\n238 sock_queue_rcv_skb 2.6.16/net/bluetooth/l2cap.o\n238 sock_queue_rcv_skb 2.6.16/net/bluetooth/hci_sock.o\n238 sock_queue_rcv_skb 2.6.16/net/ax25/ax25_in.o\n238 sock_queue_rcv_skb 2.6.16/net/ax25/af_ax25.o\n238 sock_queue_rcv_skb 2.6.16/net/appletalk/ddp.o\n238 sock_queue_rcv_skb 2.6.16/drivers/net/pppoe.o\n\n276 sk_receive_skb 2.6.16/net/decnet/dn_nsp_in.o\n276 sk_receive_skb 2.6.16/net/dccp/ipv6.o\n276 sk_receive_skb 2.6.16/net/dccp/ipv4.o\n276 sk_receive_skb 2.6.16/net/dccp/dccp_ipv6.o\n276 sk_receive_skb 2.6.16/drivers/net/pppoe.o\n\n209 sk_dst_check 2.6.16/net/ipv6/ip6_output.o\n209 sk_dst_check 2.6.16/net/ipv4/udp.o\n209 sk_dst_check 2.6.16/net/decnet/dn_nsp_out.o\n\nLarge inlines with multiple callers:\nSize  Uses Wasted Name and definition\n\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  238   21   4360 sock_queue_rcv_skb    include/net/sock.h\n  109   10    801 sock_recv_timestamp   include/net/sock.h\n  276    4    768 sk_receive_skb        include/net/sock.h\n   94    8    518 __sk_dst_check        include/net/sock.h\n  209    3    378 sk_dst_check  include/net/sock.h\n  131    4    333 sk_setup_caps include/net/sock.h\n  152    2    132 sk_stream_alloc_pskb  include/net/sock.h\n  125    2    105 sk_stream_writequeue_purge    include/net/sock.h\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca9ba4471c1203bb6e759b76e83167fec54fe590",
      "tree": "8aeb359631742f77f635cb5ff785bea9132502f9",
      "parents": [
        "d4965b3e2ff94d0c7b7e6e7e9794b54950a2f4b9",
        "c4713074375c61f939310b04e92090afe29810dc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 13:53:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 13:53:03 2006 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] 3388/1: ixp23xx: add core ixp23xx support\n  [ARM] 3417/1: add support for logicpd pxa270 card engine\n  [ARM] 3387/1: ixp23xx: add defconfig\n  [ARM] 3377/2: add support for intel xsc3 core\n  [ARM] Move ice-dcc code into misc.c\n  [ARM] Fix decompressor serial IO to give CRLF not LFCR\n  [ARM] proc-v6: mark page table walks outer-cacheable, shared.  Enable NX.\n  [ARM] nommu: trivial patch for arch/arm/lib/Makefile\n  [ARM] 3416/1: Update LART site URL\n  [ARM] 3415/1: Akita: Add missing EXPORT_SYMBOL\n  [ARM] 3414/1: ep93xx: reset ethernet controller before uncompressing\n"
    }
  ],
  "next": "d4965b3e2ff94d0c7b7e6e7e9794b54950a2f4b9"
}
