)]}'
{
  "log": [
    {
      "commit": "63589ed0785ffc715777a54ccb96cdfaea9edbc0",
      "tree": "8ef3e50b7f87a5a2f5b0d96d1e22a1277c2381c0",
      "parents": [
        "24c7cd0630f76f0eb081d539c53893d9f15787e8",
        "a580290c3e64bb695158a090d02d1232d9609311"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:58:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Apr 02 12:58:45 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (48 commits)\n  Documentation: fix minor kernel-doc warnings\n  BUG_ON() Conversion in drivers/net/\n  BUG_ON() Conversion in drivers/s390/net/lcs.c\n  BUG_ON() Conversion in mm/slab.c\n  BUG_ON() Conversion in mm/highmem.c\n  BUG_ON() Conversion in kernel/signal.c\n  BUG_ON() Conversion in kernel/signal.c\n  BUG_ON() Conversion in kernel/ptrace.c\n  BUG_ON() Conversion in ipc/shm.c\n  BUG_ON() Conversion in fs/freevxfs/\n  BUG_ON() Conversion in fs/udf/\n  BUG_ON() Conversion in fs/sysv/\n  BUG_ON() Conversion in fs/inode.c\n  BUG_ON() Conversion in fs/fcntl.c\n  BUG_ON() Conversion in fs/dquot.c\n  BUG_ON() Conversion in md/raid10.c\n  BUG_ON() Conversion in md/raid6main.c\n  BUG_ON() Conversion in md/raid5.c\n  Fix minor documentation typo\n  BFP-\u003eBPF in Documentation/networking/tuntap.txt\n  ...\n"
    },
    {
      "commit": "95d465fd750897ab32462a6702fbfe1b122cbbc0",
      "tree": "65c38b2f11c51bb6932e44dd6c92f15b0091abfe",
      "parents": [
        "642fde17dceceb56c7ba2762733ac688666ae657",
        "683aa4012f53b2ada0f430487e05d37b0d94e90a"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Sun Apr 02 00:08:05 2006 -0500"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Sun Apr 02 00:08:05 2006 -0500"
      },
      "message": "Manual merge with Linus.\n\nConflicts:\n\tarch/powerpc/kernel/setup-common.c\n\tdrivers/input/keyboard/hil_kbd.c\n\tdrivers/input/mouse/hil_ptr.c\n"
    },
    {
      "commit": "36a891b67f95fd5e1442fc0f7f953809b94b3fbc",
      "tree": "881db77349c500f225f8f724a56df5ca147b6297",
      "parents": [
        "08039264d55b1e4c481309d841b245b0bb5e9c68"
      ],
      "author": {
        "name": "Horms",
        "email": "horms@verge.net.au",
        "time": "Sat Apr 01 01:39:17 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Apr 01 01:39:17 2006 +0200"
      },
      "message": "kexec: grammar fix for crash_save_this_cpu()\n\nkexec: grammar fix for crash_save_this_cpu()\n\nSigned-Off-By: Horms \u003chorms@verge.net.au\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "0cb3463f04e771869f481e2dd44f66419e850586",
      "tree": "ec4ad0af313e8b6060e3cc4fed2510092a74e2cd",
      "parents": [
        "ec350a7fc16af45e143085594a6c9a18d7a0cba3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 31 02:32:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:19:01 2006 -0800"
      },
      "message": "[PATCH] unexport get_wchan\n\nThe only user of get_wchan is the proc fs - and proc can\u0027t be built modular.\n\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": "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": "9b41046cd0ee0a57f849d6e1363f7933e363cca9",
      "tree": "246820e9493770e071cb92a48e7f72d8b9c90a98",
      "parents": [
        "68eef3b4791572ecb70249c7fb145bb3742dd899"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Fri Mar 31 02:30:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:53 2006 -0800"
      },
      "message": "[PATCH] Don\u0027t pass boot parameters to argv_init[]\n\nThe boot cmdline is parsed in parse_early_param() and\nparse_args(,unknown_bootoption).\n\nAnd __setup() is used in obsolete_checksetup().\n\n\tstart_kernel()\n\t\t-\u003e parse_args()\n\t\t\t-\u003e unknown_bootoption()\n\t\t\t\t-\u003e obsolete_checksetup()\n\nIf __setup()\u0027s callback (-\u003esetup_func()) returns 1 in\nobsolete_checksetup(), obsolete_checksetup() thinks a parameter was\nhandled.\n\nIf -\u003esetup_func() returns 0, obsolete_checksetup() tries other\n-\u003esetup_func().  If all -\u003esetup_func() that matched a parameter returns 0,\na parameter is seted to argv_init[].\n\nThen, when runing /sbin/init or init\u003dapp, argv_init[] is passed to the app.\nIf the app doesn\u0027t ignore those arguments, it will warning and exit.\n\nThis patch fixes a wrong usage of it, however fixes obvious one only.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "da2e9e1ff40c863a12803c32209baaded3512433",
      "tree": "7770ed3904d312850e745cca175a7322b63785ab",
      "parents": [
        "97db7fbfc7712bc403330c81c04ddfa82b335bce"
      ],
      "author": {
        "name": "Jakub Jelinek",
        "email": "jakub@redhat.com",
        "time": "Fri Mar 31 02:30:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:52 2006 -0800"
      },
      "message": "[PATCH] Mark unwind info for signal trampolines in vDSOs\n\nMark unwind info for signal trampolines using the new S augmentation flag\nintroduced in: http://gcc.gnu.org/PR26208.\n\nGCC 4.2 (or patched earlier GCC) will be able to special case unwinding\nthrough frames right above signal trampolines.  As the augmentations start\nwith z flag and S is at the very end of the augmentation string, older GCCs\nwill just skip the S flag as unknown (that\u0027s why an augmentation flag was\nchosen over say a new CFA opcode).\n\nSigned-off-by: Jakub Jelinek \u003cjakub@redhat.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "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": "9561b03dc360068504cb296d325fb84295f91fbb",
      "tree": "b241c43d203f99f2ce21c9edf81aa7f71ac57025",
      "parents": [
        "7baf398f12585ae77748716fa77113c1f1831153",
        "c326e27eb79e98050d855e371ac534ff4352e910"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:48:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:48:32 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] cpufreq_conservative: keep ignore_nice_load and freq_step values when reselected\n  [CPUFREQ] powernow: remove private for_each_cpu_mask()\n  [CPUFREQ] hotplug cpu fix for powernow-k8\n  [PATCH] cpufreq_ondemand: add range check\n  [PATCH] cpufreq_ondemand: keep ignore_nice_load value when it is reselected\n  [PATCH] cpufreq_ondemand: Warn if it cannot run due to too long transition latency\n  [PATCH] cpufreq_conservative: alternative initialise approach\n  [PATCH] cpufreq_conservative: make for_each_cpu() safe\n  [PATCH] cpufreq_conservative: alter default responsiveness\n  [PATCH] cpufreq_conservative: aligning of codebase with ondemand\n"
    },
    {
      "commit": "b791ccef21129f9c7e4ab8274d5d7a0ec0a2fb7c",
      "tree": "20659079914031f1e7325624439b6b8f82c9c02b",
      "parents": [
        "ca43b317fc557bbcca845c684d93375286bf9e0b"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Mar 28 01:56:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:08 2006 -0800"
      },
      "message": "[PATCH] fix signed vs unsigned in nmi watchdog\n\nFix \"signed vs unsigned\" in nmi_watchdog_tick.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f45e4656ac0609437267b242953c07d523649f8d",
      "tree": "bd70b8ae51d2a29c435a6567852f32badafb2720",
      "parents": [
        "50fc9999ec27ad66ce6db31ebb03759f77962bc1"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Mar 28 01:56:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] arch/i386/kernel/microcode.c: remove the obsolete microcode_ioctl\n\nNowadays, even Debian stable ships a microcode_ctl utility recent enough to no\nlonger use this ioctl.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Tigran Aivazian \u003ctigran_aivazian@symantec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8912599c677f58fd3a5e5420c9cb6df62b2d8fa",
      "tree": "64f6be50c778438ddf48ca52ebbb5ca253a70108",
      "parents": [
        "fe449f48368623eb47715061b4977ce982d8e03b"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Mar 28 01:56:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:05 2006 -0800"
      },
      "message": "[PATCH] for_each_possible_cpu: i386\n\nThis patch replaces for_each_cpu with for_each_possible_cpu.\n\nunder arch/i386.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64840e2722aeb789574e336d231bbc6436d51b34",
      "tree": "eede793fd2260b68bd52491e11e0e8410df31317",
      "parents": [
        "eef5167e5045fa8265b3e72cac9dbc4bc7dd82a6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 01:51:23 2006 -0800"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 27 15:06:08 2006 -0500"
      },
      "message": "[CPUFREQ] powernow: remove private for_each_cpu_mask()\n\nIt is unneeded and wrong.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "eef5167e5045fa8265b3e72cac9dbc4bc7dd82a6",
      "tree": "dafb8c4001ba4a8c5f15eedd81568799df8cb03f",
      "parents": [
        "0bb065f29bffc7895f0dbac1fc7d74b3a8d357a9"
      ],
      "author": {
        "name": "shin, jacob",
        "email": "jacob.shin@amd.com",
        "time": "Mon Mar 27 09:57:20 2006 -0600"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Mar 27 15:01:28 2006 -0500"
      },
      "message": "[CPUFREQ] hotplug cpu fix for powernow-k8\n\nAndi\u0027s previous fix to initialise powernow_data on all siblings\nwill not work properly with CPU Hotplug.\n\nSigned-off-by: Jacob Shin \u003cjacob.shin@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "59153f7d7effdb5b3c81eb6d03914a866157b319",
      "tree": "59241e05d5fc0ba01070624c6c559004fe1b686a",
      "parents": [
        "f95ec3c6df271ae4e6290cd6b95c18a009c76dc9"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Mar 27 01:17:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:55 2006 -0800"
      },
      "message": "[PATCH] fbdev: Make BIOS EDID reading configurable\n\nDDC reading via the Video BIOS may take several tens of seconds with some\ncombination of display cards and monitors.\n\nMake this option configurable.  It defaults to `y\u0027 to minimise disruption.\n\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": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dfd4e3ec246355274c9cf62c6b04a1ee6fa3caba",
      "tree": "9b745a5f4b5134c2a101280f6bbd1947c15800d8",
      "parents": [
        "34f192c6527f20c47ccec239e7d51a27691b93fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 27 01:16:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:49 2006 -0800"
      },
      "message": "[PATCH] lightweight robust futexes: i386\n\ni386: add the futex_atomic_cmpxchg_inuser() assembly implementation, and wire\nup the new syscalls.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22a9835c350782a5c3257343713932af3ac92ee0",
      "tree": "9688e99426e8aa85a468cc724ffee32c6a8abcad",
      "parents": [
        "95144c788dc01b6a0ff2c9c2222e37ffdab358b8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Mon Mar 27 01:16:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] unify PFN_* macros\n\nJust about every architecture defines some macros to do operations on pfns.\n They\u0027re all virtually identical.  This patch consolidates all of them.\n\nOne minor glitch is that at least i386 uses them in a very skeletal header\nfile.  To keep away from #include dependency hell, I stuck the new\ndefinitions in a new, isolated header.\n\nOf all of the implementations, sh64 is the only one that varied by a bit.\nIt used some masks to ensure that any sign-extension got ripped away before\nthe arithmetic is done.  This has been posted to that sh64 maintainers and\nthe development list.\n\nCompiles on x86, x86_64, ia64 and ppc64.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3571761fe49d960bb720c2308ffb9401f0a5e161",
      "tree": "2b100cedf9f18ec59f0aa38e8c0f6b25bec9dfab",
      "parents": [
        "ec936fc563715a9e2b2e363eb060655b49529325"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:16:00 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: remove sorting pgdat\n\nBecause pgdat_list was linked to pgdat_list in *reverse* order, (By default)\nsome of arch has to sort it by themselves.\n\nfor_each_pgdat has gone..for_each_online_pgdat() uses node_online_map, which\ndoesn\u0027t need to be sorted.\n\nThis patch removes codes for sorting pgdat.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec936fc563715a9e2b2e363eb060655b49529325",
      "tree": "72e77aefeeda3c6ff396f080a5c6a82f25d52bf0",
      "parents": [
        "679bc9fbb508a0aac9539b2de747eb5849feb428"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Mar 27 01:15:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:48 2006 -0800"
      },
      "message": "[PATCH] for_each_online_pgdat: renaming for_each_pgdat\n\nReplace for_each_pgdat() with for_each_online_pgdat().\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b06be912a3ad68c69dba0ed6e92723140020e392",
      "tree": "4de1f2c2804ae3230e14e94d3f33a14467889233",
      "parents": [
        "0806903316d516a3b3851c51cea5c71724d9051d"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Mar 27 01:15:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:44 2006 -0800"
      },
      "message": "[PATCH] x86: don\u0027t use cpuid.2 to determine cache info if cpuid.4 is supported\n\nDon\u0027t use cpuid.2 to determine cache info if cpuid.4 is supported.  The\nexception is P4 trace cache.  We always use cpuid.2 to get trace cache\nunder P4.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.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": "1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7",
      "tree": "ccfa4927ebc7a8f663f9ac9e7789a713a33253ff",
      "parents": [
        "77e4bfbcf071f795b54862455dce8902b3fc29c2"
      ],
      "author": {
        "name": "Siddha, Suresh B",
        "email": "suresh.b.siddha@intel.com",
        "time": "Mon Mar 27 01:15:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:43 2006 -0800"
      },
      "message": "[PATCH] sched: new sched domain for representing multi-core\n\nAdd a new sched domain for representing multi-core with shared caches\nbetween cores.  Consider a dual package system, each package containing two\ncores and with last level cache shared between cores with in a package.  If\nthere are two runnable processes, with this appended patch those two\nprocesses will be scheduled on different packages.\n\nOn such systems, with this patch we have observed 8% perf improvement with\nspecJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2\nusers).\n\nThis new domain will come into play only on multi-core systems with shared\ncaches.  On other systems, this sched domain will be removed by domain\ndegeneration code.  This new domain can be also used for implementing power\nsavings policy (see OLS 2005 CMP kernel scheduler paper for more details..\nI will post another patch for power savings policy soon)\n\nMost of the arch/* file changes are for cpu_coregroup_map() implementation.\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: 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": "dbffa471611d3fc4b401ebabf7bb63ac0e0272b1",
      "tree": "bb9ea8ac8b965b579ffaabf1be2e120339342e30",
      "parents": [
        "5d5d7727a8cde78f798ecf04bac8031eff536f9d"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon Mar 27 01:14:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:37 2006 -0800"
      },
      "message": "[PATCH] PM-Timer: don\u0027t use workaround if chipset is not buggy\n\nCurrent timer_pm.c reads I/O port triple times, in order to avoid the bug\nof chipset.  But I/O port is slow.\n\n2.6.16 (pmtmr)\nSimple gettimeofday: 3.6532 microseconds\n\n2.6.16+patch (pmtmr)\nSimple gettimeofday: 1.4582 microseconds\n\n[if chip is buggy, probably it will be 7us or more in 4.2% of probability.]\n\nThis patch adds blacklist of buggy chip, and if chip is not buggy, this\nuses fast normal version instead of slow workaround version.\n\nIf chip is buggy, warnings \"pmtmr is slow\".  But sounds like there is gray\nzone.  I found the PIIX4 errata, but I couldn\u0027t find the ICH4 errata.  But\nsome motherboard seems to have problem.\n\nSo, if we found a ICH4, generate warnings, and use a workaround version.\nIf user\u0027s ICH4 is good, the user can specify the \"pmtmr_good\" boot\nparameter to use fast version.\n\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1cc2b9943b7b3a8d526aa8be5450d3ec083c3de4",
      "tree": "302d864d0f11c9fb1ec747440b0fce7f9f3ca27e",
      "parents": [
        "f6e0213f7c253086e17844df8ba21075100b5ead"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Sun Mar 26 01:39:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:12 2006 -0800"
      },
      "message": "[PATCH] bitops: i386: use generic bitops\n\n- remove generic_fls64()\n- remove sched_find_first_bit()\n- remove generic_hweight{32,16,8}()\n- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()\n- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4026513b88e7eaa52a31117e2b7bafdc1e40ef1",
      "tree": "92bbffa53339d237424099bce8fb72d8996f93c2",
      "parents": [
        "2326c77017c79fd6d55c69d8a49a57a252921bcd"
      ],
      "author": {
        "name": "Prasanna S Panchamukhi",
        "email": "prasanna@in.ibm.com",
        "time": "Sun Mar 26 01:38:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] kprobes: fix broken fault handling for i386\n\nProvide proper kprobes fault handling, if a user-specified pre/post handlers\ntries to access user address space, through copy_from_user(), get_user() etc.\n\nThe user-specified fault handler gets called only if the fault occurs while\nexecuting user-specified handlers.  In such a case user-specified handler is\nallowed to fix it first, later if the user-specifed fault handler does not fix\nit, we try to fix it by calling fix_exception().\n\nThe user-specified handler will not be called if the fault happens when single\nstepping the original instruction, instead we reset the current probe and\nallow the system page fault handler to fix it up.\n\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2326c77017c79fd6d55c69d8a49a57a252921bcd",
      "tree": "5a2cafc7452953a4d5c8a8e8eaa0ae34fe306f74",
      "parents": [
        "c6fd91f0bdcd294a0ae0ba2b2a7f7456ef4b7144"
      ],
      "author": {
        "name": "bibo,mao",
        "email": "bibo.mao@intel.com",
        "time": "Sun Mar 26 01:38:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] kprobe handler: discard user space trap\n\nCurrently kprobe handler traps only happen in kernel space, so function\nkprobe_exceptions_notify should skip traps which happen in user space.\nThis patch modifies this, and it is based on 2.6.16-rc4.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Keshavamurthy, Anil S\" \u003canil.s.keshavamurthy@intel.com\u003e\nCc: \u003chiramatu@sdl.hitachi.co.jp\u003e\nSigned-off-by: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c6fd91f0bdcd294a0ae0ba2b2a7f7456ef4b7144",
      "tree": "1d095d1761a44118f101b2ce9697346ff168753a",
      "parents": [
        "c9becf58d935265919bf1cb348b2c04492c8949d"
      ],
      "author": {
        "name": "bibo mao",
        "email": "bibo_mao@linux.intel.com",
        "time": "Sun Mar 26 01:38:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] kretprobe instance recycled by parent process\n\nWhen kretprobe probes the schedule() function, if the probed process exits\nthen schedule() will never return, so some kretprobe instances will never\nbe recycled.\n\nIn this patch the parent process will recycle retprobe instances of the\nprobed function and there will be no memory leak of kretprobe instances.\n\nSigned-off-by: bibo mao \u003cbibo.mao@intel.com\u003e\nCc: Masami Hiramatsu \u003chiramatu@sdl.hitachi.co.jp\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c9becf58d935265919bf1cb348b2c04492c8949d",
      "tree": "57ec897e82bdd4c30eb19112be425fe4d64a1029",
      "parents": [
        "311ac88fd2d4194a95e9e38d2fe08917be98723c"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "hiramatu@sdl.hitachi.co.jp",
        "time": "Sun Mar 26 01:38:19 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] kretprobe: kretprobe-booster\n\nIn normal operation, kretprobe makes a target function return to trampoline\ncode.  A kprobe (called trampoline_probe) has been inserted in the trampoline\ncode.  When the kernel hits this kprobe, it calls kretprobe\u0027s handler and it\nreturns to the original return address.\n\nKretprobe-booster removes the trampoline_probe.  It allows the trampoline code\nto call kretprobe\u0027s handler directly instead of invoking kprobe.  The\ntrampoline code returns to the original return address.\n\n(changelog from Chuck Ebbert \u003c76306.1226@compuserve.com\u003e - thanks ;))\n\nSigned-off-by: Masami Hiramatsu \u003chiramatu@sdl.hitachi.co.jp\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "311ac88fd2d4194a95e9e38d2fe08917be98723c",
      "tree": "321602aa5da2c18a285f31dc2dab14a7464c0483",
      "parents": [
        "b50ea74c7bc3ebe3d88a357893f0b96ae9092f13"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "hiramatu@sdl.hitachi.co.jp",
        "time": "Sun Mar 26 01:38:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:04 2006 -0800"
      },
      "message": "[PATCH] x86: kprobes-booster\n\nCurrent kprobe copies the original instruction at the probe point and replaces\nit with a breakpoint instruction (int3).  When the kernel hits the probe\npoint, kprobe handler is invoked.  And the copied instruction is single-step\nexecuted on the copied buffer (not on the original address) by kprobe.  After\nthat, the kprobe checks registers and modify it (if need) as if the\ninstructions was executed on the original address.\n\nMy proposal is based on the fact there are many instructions which do NOT\nrequire the register modification after the single-step execution.  When the\ncopied instruction is a kind of them, kprobe just jumps back to the next\ninstruction after single-step execution.  If so, why don\u0027t we execute those\ninstructions directly?\n\nWith kprobe-booster patch, kprobes will execute a copied instruction directly\nand (if need) jump back to original code.  This direct execution is executed\nwhen the kprobe don\u0027t have both post_handler and break_handler, and the copied\ninstruction can be executed directly.\n\nI sorted instructions which can be executed directly or not;\n\n- Call instructions are NG(can not be executed directly).\n  We should correct the return address pushed into top of stack.\n- Indirect instructions except for absolute indirect-jumps\n  are NG. Those instructions changes EIP randomly. We should\n  check EIP and correct it.\n- Instructions that change EIP beyond the range of the\n  instruction buffer are NG.\n- Instructions that change EIP to tail 5 bytes of the\n  instruction buffer (it is the size of a jump instruction).\n  We must write a jump instruction which backs to original\n  kernel code in the instruction buffer.\n- Break point instruction is NG. We should not touch EIP and\n  pass to other handlers.\n- Absolute direct/indirect jumps are OK.- Conditional Jumps are NG.\n- Halt and software-interruptions are NG. Because it will stay on\n  the instruction buffer of kprobes.\n- Prefixes are NG.\n- Unknown/reserved opcode is NG.\n- Other 1 byte instructions are OK. But those instructions need a\n  jump back code.\n- 2 bytes instructions are mapped sparsely. So, in this release,\n  this patch don\u0027t boost those instructions.\n\n\u003eFrom Intel\u0027s IA-32 opcode map described in IA-32 Intel Architecture Software\nDeveloper\u0027s Manual Vol.2 B, I determined that following opcodes are not\nboostable.\n\n- 0FH (2byte escape)\n- 70H - 7FH (Jump on condition)\n- 9AH (Call) and 9CH (Pushf)\n- C0H-C1H (Grp 2: includes reserved opcode)\n- C6H-C7H (Grp11: includes reserved opcode)\n- CCH-CEH (Software-interrupt)\n- D0H-D3H (Grp2: includes reserved opcode)\n- D6H (Reserved)\n- D8H-DFH (Coprocessor)\n- E0H-E3H (loop/conditional jump)\n- E8H (Call)\n- F0H-F3H (Prefixes and reserved)\n- F4H (Halt)\n- F6H-F7H (Grp3: includes reserved opcode)\n- FEH-FFH(Grp4,5: includes reserved opcode)\n\nKprobe-booster checks whether target instruction can be boosted (can be\nexecuted directly) at arch_copy_kprobe() function.  If the target instruction\ncan be boosted, it clears \"boostable\" flag.  If not, it sets \"boostable\" flag\n-1.  This is disabled status.  In resume_execution() function, If \"boostable\"\nflag is cleared, kprobe-booster measures the size of the target instruction\nand sets \"boostable\" flag 1.\n\nIn kprobe_handler(), kprobe checks the \"boostable\" flag.  If the flag is 1, it\nresets current kprobe and executes instruction buffer directly instead of\nsingle stepping.\n\nWhen unregistering a boosted kprobe, it calls synchronize_sched()\nafter \"int3\" is removed. So we can ensure followings after\nthe synchronize_sched() called.\n- interrupt handlers are finished on all CPUs.\n- instruction buffer is not executed on all CPUs.\nAnd we can release the boosted kprobe safely.\n\nAnd also, on preemptible kernel, the booster is not enabled where the kernel\npreemption is enabled.  So, there are no preempted threads on the instruction\nbuffer.\n\nThe description of kretprobe-booster:\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\n\nIn the normal operation, kretprobe make a target function return to trampoline\ncode.  And a kprobe (called trampoline_probe) have been inserted at the\ntrampoline code.  When the kernel hits this kprobe, it calls kretprobe\u0027s\nhandler and it returns to original return address.\n\nKretprobe-booster patch removes the trampoline_probe.  It allows the\ntram\u0018poline code to call kretprobe\u0027s handler directly instead of invoking\nkprobe.  And tranpoline code returns to original return address.\n\nThis new trampoline code stores and restores registers, so the kretprobe\nhandler is still able to access those registers.\n\nCurrent kprobe has about 1.3 usec/probe(*) overhead, and kprobe-booster patch\nreduces it to 0.6 usec/probe(*).  Also current kretprobe has about 2.0\nusec/probe(*) overhead.  Kprobe-booster patch reduces it to 1.3 usec/probe(*),\nand the combination of both kprobe-booster patch and kretprobe-booster patch\nreduces it to 0.9 usec/probe(*).\n\nI expect the combination of both patches can reduce half of a probing\noverhead.\n\nPerformance numbers strongly depend on the processor model.\n\nAndrew Morton wrote:\n\u003e These preempt tricks look rather nasty.  Can you please describe what the\n\u003e problem is, precisely?  And how this code avoids it?  Perhaps we can find\n\u003e something cleaner.\n\nThe problem is how to remove the copied instructions of the\nkprobe *safely* on the preemptable kernel (CONFIG_PREEMPT\u003dy).\n\nKprobes basically executes the following actions;\n\n(1)int3\n(2)preempt_disable()\n(3)kprobe_prehandler()\n(4)copied instructioin(single step)\n(5)kprobe_posthandler()\n(6)preempt_enable()\n(7)return to the original code\n\nDuring the execution of copied instruction, preemption is\ndisabled (from step (2) to (6)).\nWhen unregistering the probes, Kprobe waits for RCU\nquiescent state by using synchronize_sched() after removing\nint3 instruction.\nThus we can ensure the copied instruction is not executed.\n\nOn the other hand, kprobe-booster executes the following actions;\n\n(1)int3\n(2)preempt_disable()\n(3)kprobe_prehandler()\n(4)preempt_enable()             \u003c-- this one is added by my patch\n(5)copied instruction(direct execution)\n(6)jmp back to the original code\n\nThe problem is that we have no way to prevent preemption on\nstep (5) or (6). We cannot call preempt_disable() after step (6),\nbecause there are no rooms to do that. Thus, some other\nprocesses may be preempted at step(5) or (6) on preemptable kernel.\nAnd I couldn\u0027t find the easy way to ensure that other processes\u0027\nstack do *not* have the address of them. (I thought some way\nto do that, but those are very costly.)\n\nSo currently, I simply boost the kprobe only when the probe\npoint is already preemption disabled.\n\n\u003e Also, the patch adds a preempt_enable() but I don\u0027t see a corresponding\n\u003e preempt_disable().  Am I missing something?\n\nIt is corresponding to the preempt_disable() in the top of\nkprobe_handler().\nI copied the code of kprobe_handler() here:\n\nstatic int __kprobes kprobe_handler(struct pt_regs *regs)\n{\n        struct kprobe *p;\n        int ret \u003d 0;\n        kprobe_opcode_t *addr \u003d NULL;\n        unsigned long *lp;\n        struct kprobe_ctlblk *kcb;\n\n        /*\n         * We don\u0027t want to be preempted for the entire\n         * duration of kprobe processing\n         */\n        preempt_disable();             \u003c-- HERE\n        kcb \u003d get_kprobe_ctlblk();\n\nSigned-off-by: Masami Hiramatsu \u003chiramatu@sdl.hitachi.co.jp\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b50ea74c7bc3ebe3d88a357893f0b96ae9092f13",
      "tree": "853f3d7be8b43de3f15f54c91a0775bd4e131df5",
      "parents": [
        "05cfb614ddbf3181540ce09d44d96486f8ba8d6a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "hiramatu@sdl.hitachi.co.jp",
        "time": "Sun Mar 26 01:38:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:03 2006 -0800"
      },
      "message": "[PATCH] kprobes: clean up resume_execute()\n\nClean up kprobe\u0027s resume_execute() for i386 arch.\n\nSigned-off-by: Masami Hiramatsu \u003chiramatu@sdl.hitachi.co.jp\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6d21dfdd305bf94300df13ff472141d3411ea17",
      "tree": "68468809491f981931db2d2bce4036d151289009",
      "parents": [
        "3ac8bf077d0f13b9c3131dd61f9f76c78c322858"
      ],
      "author": {
        "name": "Darren Jenkins",
        "email": "darrenrjenkins@gmail.com",
        "time": "Sun Mar 26 01:37:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:57 2006 -0800"
      },
      "message": "[PATCH] fix array overrun in efi.c\n\nCoverity found an over-run @ line 364 of efi.c\n\nThis is due to the loop checking the size correctly, then adding a \u0027\\0\u0027\nafter possibly hitting the end of the array.\n\nEnsure the loop exits with one space left in the array.\n\nSigned-off-by: Darren Jenkins \u003cdarrenrjenkins@gmail.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": "14cc3e2b633bb64063698980974df4535368e98f",
      "tree": "d542c9db7376de199d640b8e34d5630460b217b5",
      "parents": [
        "353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: misc static one-file mutexes\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: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "23dd842c0033dbb05248c42929c3c526c55386de",
      "tree": "997126ad81b01819094fb75ccb1a33c88ace6e17",
      "parents": [
        "b2c99e3c70d77fb194df5aa1642030080d28ea48"
      ],
      "author": {
        "name": "Tolentino, Matthew E",
        "email": "matthew.e.tolentino@intel.com",
        "time": "Sun Mar 26 01:37:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:54 2006 -0800"
      },
      "message": "[PATCH] EFI fixes\n\nHere\u0027s a patch that fixes EFI boot for x86 on 2.6.16-rc5-mm3.  The\noff-by-one is admittedly my fault, but the other two fix up the rest.\n\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nCc: \"Tolentino, Matthew E\" \u003cmatthew.e.tolentino@intel.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2c99e3c70d77fb194df5aa1642030080d28ea48",
      "tree": "65f2a173e49b3e15e90b8cabf45b7dd4f3691e29",
      "parents": [
        "27d8e3d15bcf9d7cd99bf6ca910ea9e34328c7fb"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Sun Mar 26 01:37:08 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:54 2006 -0800"
      },
      "message": "[PATCH] EFI: keep physical table addresses in efi structure\n\nAlmost all users of the table addresses from the EFI system table want\nphysical addresses.  So rather than doing the pa-\u003eva-\u003epa conversion, just keep\nphysical addresses in struct efi.\n\nThis fixes a DMI bug: the efi structure contained the physical SMBIOS address\non x86 but the virtual address on ia64, so dmi_scan_machine() used ioremap()\non a virtual address on ia64.\n\nThis is essentially the same as an earlier patch by Matt Tolentino:\n\thttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d112130292316281\u0026w\u003d2\nexcept that this changes all table addresses, not just ACPI addresses.\n\nMatt\u0027s original patch was backed out because it caused MCAs on HP sx1000\nsystems.  That problem is resolved by the ioremap() attribute checking added\nfor ia64.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nCc: \"Tolentino, Matthew E\" \u003cmatthew.e.tolentino@intel.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27d8e3d15bcf9d7cd99bf6ca910ea9e34328c7fb",
      "tree": "227d271f008fd84d752671d7748c435c4276c542",
      "parents": [
        "e9b0a0712148abe96ff717a2b9f8dab1d433e0d5"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Sun Mar 26 01:37:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:54 2006 -0800"
      },
      "message": "[PATCH] DMI: only ioremap stuff we actually need\n\ndmi_scan_machine() tries to ioremap 0x10000 (64K) bytes, even though it only\nlooks at the first 32 bytes or so.  If the SMBIOS table is near the end of a\nmemory region, the ioremap() may fail when it shouldn\u0027t.\n\nThis is in the efi_enabled path, so it really only affects ia64 at the moment.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nCc: \"Tolentino, Matthew E\" \u003cmatthew.e.tolentino@intel.com\u003e\nCc: \"Brown, Len\" \u003clen.brown@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nAcked-by: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ed3bce846abc7ef460104b461cac793e41afe5e",
      "tree": "6db86a6cdfd3600db4e24cd91f53ba6f4f661280",
      "parents": [
        "10dbe196a8da6b3196881269c6639c0ec11c36cb"
      ],
      "author": {
        "name": "Matt Domsch",
        "email": "Matt_Domsch@dell.com",
        "time": "Sun Mar 26 01:37:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:54 2006 -0800"
      },
      "message": "[PATCH] ia64: use i386 dmi_scan.c\n\nEnable DMI table parsing on ia64.\n\nAndi Kleen has a patch in his x86_64 tree which enables the use of i386\ndmi_scan.c on x86_64.  dmi_scan.c functions are being used by the\ndrivers/char/ipmi/ipmi_si_intf.c driver for autodetecting the ports or\nmemory spaces where the IPMI controllers may be found.\n\nThis patch adds equivalent changes for ia64 as to what is in the x86_64\ntree.  In addition, I reworked the DMI detection, such that on EFI-capable\nsystems, it uses the efi.smbios pointer to find the table, rather than\nbrute-force searching from 0xF0000.  On non-EFI systems, it continues the\nbrute-force search.\n\nMy test system, an Intel S870BN4 \u0027Tiger4\u0027, aka Dell PowerEdge 7250, with\nlatest BIOS, does not list the IPMI controller in the ACPI namespace, nor\ndoes it have an ACPI SPMI table.  Also note, currently shipping Dell x8xx\nEM64T servers don\u0027t have these either, so DMI is the only method for\nobtaining the address of the IPMI controller.\n\nSigned-off-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: \"Luck, Tony\" \u003ctony.luck@intel.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": "10dbe196a8da6b3196881269c6639c0ec11c36cb",
      "tree": "c3359408b621a643ca544ea796cfbade81ac07c2",
      "parents": [
        "20c0d2d4402973050e7aad8a481ec6f847ee40d8"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Sun Mar 26 01:37:02 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:54 2006 -0800"
      },
      "message": "[PATCH] i386: export: memory more than 4G through /proc/iomem\n\nCurrently /proc/iomem exports physical memory also apart from io device\nmemory.  But on i386, it truncates any memory more than 4GB.  This leads to\nproblems for kexec/kdump.\n\nKexec reads /proc/iomem to determine the system memory layout and prepares a\nmemory map based on that and passes it to the kernel being kexeced.  Given the\nfact that memory more than 4GB has been truncated, new kernel never gets to\nsee and use that memory.\n\nKdump also reads /proc/iomem to determine the physical memory layout of the\nsystem and encodes this informaiton in ELF headers.  After a crash new kernel\nparses these ELF headers being used by previous kernel and vmcore is prepared\naccordingly.  As memory more than 4GB has been truncated, kdump never sees\nthat memory and never prepares ELF headers for it.  Hence vmcore is truncated\nand limited to 4GB even if there is more physical memory in the system.\n\nThis patch exports memory more than 4GB through /proc/iomem on i386.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20c0d2d4402973050e7aad8a481ec6f847ee40d8",
      "tree": "a3fc29f54187aa9d2dad25a018011443ca83d7ff",
      "parents": [
        "841b8a46bffec232377d2de157f971e812be4fe4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Sun Mar 26 01:37:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:53 2006 -0800"
      },
      "message": "[PATCH] i386: pass proper trap numbers to die chain handlers\n\nPass the trap number causing the call to notify_die() to the die\nnotification handler chain in a number of instances.  Also, honor the\nreturn value from the handler chain invocation in die() as, through a\ndebugger, the fault may have been fixed.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-By: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "841b8a46bffec232377d2de157f971e812be4fe4",
      "tree": "f54548f3734235676d5c9956b43b32bf81e2e6b3",
      "parents": [
        "5a3a5a98b6422d05c39eaa32c8b3f83840c7b768"
      ],
      "author": {
        "name": "H. Peter Anvin",
        "email": "hpa@zytor.com",
        "time": "Sun Mar 26 01:36:59 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:53 2006 -0800"
      },
      "message": "[PATCH] x86: \"make isoimage\" support; FDINITRD\u003d support; minor cleanups\n\nAdd a \"make isoimage\" to i386 and x86-64, which allows the automatic\ncreation of a bootable CD image.  It also adds an option FDINITRD\u003d to\ninclude an initrd of the user\u0027s choice in generated floppy- or CD boot\nimages.  Finally, some minor cleanups of the image generation code.\n\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b9a3917366028cc451a98dd22e3bcd537d4e5c1",
      "tree": "d911058720e0a9aeeaf9f407ccdc6fbf4047f47d",
      "parents": [
        "3661f00e2097676847deb01add1a0918044bd816",
        "71e1c784b24a026a490b3de01541fc5ee14ebc09"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:24:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:24:53 2006 -0800"
      },
      "message": "Merge branch \u0027audit.b3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: (22 commits)\n  [PATCH] fix audit_init failure path\n  [PATCH] EXPORT_SYMBOL patch for audit_log, audit_log_start, audit_log_end and audit_format\n  [PATCH] sem2mutex: audit_netlink_sem\n  [PATCH] simplify audit_free() locking\n  [PATCH] Fix audit operators\n  [PATCH] promiscuous mode\n  [PATCH] Add tty to syscall audit records\n  [PATCH] add/remove rule update\n  [PATCH] audit string fields interface + consumer\n  [PATCH] SE Linux audit events\n  [PATCH] Minor cosmetic cleanups to the code moved into auditfilter.c\n  [PATCH] Fix audit record filtering with !CONFIG_AUDITSYSCALL\n  [PATCH] Fix IA64 success/failure indication in syscall auditing.\n  [PATCH] Miscellaneous bug and warning fixes\n  [PATCH] Capture selinux subject/object context information.\n  [PATCH] Exclude messages by message type\n  [PATCH] Collect more inode information during syscall processing.\n  [PATCH] Pass dentry, not just name, in fsnotify creation hooks.\n  [PATCH] Define new range of userspace messages.\n  [PATCH] Filter rule comparators\n  ...\n\nFixed trivial conflict in security/selinux/hooks.c\n"
    },
    {
      "commit": "ad90573f93533ddf1035b0468ed27b4453e50c46",
      "tree": "e1c112abeea9de2943133ca22b870634c1713a66",
      "parents": [
        "0085979006fd55ec7c2f721bdaa9af130a08d62a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:52 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:14:39 2006 -0800"
      },
      "message": "[PATCH] x86_64: Initialize powernow_data[] for all siblings\n\nI got an oops on a dual core system because the lost tick handler\ncalled cpufreq_get() on core 1 and powernow tried to follow\na NULL powernow_data[] pointer there.\n\nInitialize powernow_data for all cores of a CPU.\n\nCc: Jacob Shin \u003cjacob.shin@amd.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9d95dd849ccc43c4b21504e1829b5bed68cdb1bc",
      "tree": "8c0040e2207e026512a536927155fdcdd6bda008",
      "parents": [
        "c912c2db2f5c2467ba34e4e655008a14532a3900"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:31:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:57 2006 -0800"
      },
      "message": "[PATCH] i386/x86-64: List Intel LaGrange AKA SMX in /proc/cpuinfo\n\nSpec just got published so we know the CPUID bit.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ab7f1833baf0f0a0ca9868ee21f8273e2858132",
      "tree": "58e1a2395f19338ef38bf0b72df3be8aef9ce66a",
      "parents": [
        "4bdc3b7f1b730c07f5a6ccca77ee68e044036ffc"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:30:52 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:56 2006 -0800"
      },
      "message": "[PATCH] x86_64: Quieten down microcode update driver\n\nOnly log data in microcode driver when something is changed Otherwise it\nwas far too noisy on large systems.\n\nAlso remove the printk when it is unloaded.\n\nCc: tigran@veritas.com\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2d3efedbecc04dc348d723e4c90b46731b3bb48",
      "tree": "982c7838a97a5c2420de392e5a36f49eaa1778b0",
      "parents": [
        "f083a329e63d471a5e9238e837772b1b76c218db"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:30:22 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:55 2006 -0800"
      },
      "message": "[PATCH] x86_64: Implement early DMI scanning\n\nThere are more and more cases where we need to know DMI information\nearly to work around bugs.  i386 already had early DMI scanning, but\nx86-64 didn\u0027t.  Implement this now.\n\nThis required some cleanup in the i386 code.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f083a329e63d471a5e9238e837772b1b76c218db",
      "tree": "3d0955a4190ca886c3efa2e93e725d843e7d907b",
      "parents": [
        "e6fc99c6aba0350a3c4c0206b7047d4893491485"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:30:19 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:54 2006 -0800"
      },
      "message": "[PATCH] x86_64: Clean up and tweak ACPI blacklist year code\n\n - Move the core parser into dmi_scan.c.  It can be useful for other\n   subsystems too.\n - Differentiate between field doesn\u0027t exist and field is 0 or\n   unparseable.  The first case is likely an old BIOS with broken ACPI,\n   the later is likely a slightly buggy BIOS where someone forget to\n   edit the date.  Don\u0027t blacklist in the later case.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6edfba1b33c701108717f4e036320fc39abe1912",
      "tree": "48f69c4e9c103c88541d4c5e36fae9a688c45bb1",
      "parents": [
        "681558fdb5848f0a6dc248108f0f7323f7380857"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:29:49 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:53 2006 -0800"
      },
      "message": "[PATCH] x86_64: Don\u0027t define string functions to builtin\n\ngcc should handle this anyways, and it causes problems when\nsprintf is turned into strcpy by gcc behind our backs and\nthe C fallback version of strcpy is actually defining __builtin_strcpy\n\nThen drop -ffreestanding from the main Makefile because it isn\u0027t\nneeded anymore and implies -fno-builtin, which is wrong now.\n(it was only added for x86-64, so dropping it should be safe)\n\nNoticed by Roman Zippel\n\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dca99a38bccceda9e079d4c95abefbd9028605fe",
      "tree": "1b583ae41d7b042e0249bb0b746c49fa6f09a4e8",
      "parents": [
        "c7ea1a96ec007ba761c9d5d11d788cd8fdd5c8b6"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Mar 25 16:29:06 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 09:10:52 2006 -0800"
      },
      "message": "[PATCH] x86-64: Use -mtune\u003dgeneric for generic kernels\n\nThe upcomming gcc 4.2 got a new option -mtune\u003dgeneric to tune\ncode for both common AMD and Intel CPUs. Use this option\nwhen available for generic kernels.\n\nOn x86-64 it is used with CONFIG_GENERIC_CPU. On i386 it is\nenabled with CONFIG_X86_GENERIC.  It won\u0027t affect the base\nline CPU support in any ways and also not the minimum supported CPU.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be9bf30c73184e0f1e4e0a50fb193d2a551bf75e",
      "tree": "b94e1b39d59fa10b26fd740993ded00708de08e1",
      "parents": [
        "ace48471736a4b00753c74633f430c4a3a7d89cb",
        "84f0b1ef8c013b33dea9bbc2521094dd29110cf0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:52:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:52:23 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] kzalloc conversion for gx-suspmod\n  [CPUFREQ] Whitespace cleanup\n  [CPUFREQ] Mark longhaul driver as broken.\n  [PATCH] cpufreq: fix section mismatch warnings\n  [CPUFREQ] Fix the p4-clockmod N60 errata workaround.\n  [CPUFREQ] Fix handling for CPU hotplug\n  [CPUFREQ] powernow-k8: Let cpufreq driver handle affected CPUs\n  [CPUFREQ] Lots of whitespace \u0026 CodingStyle cleanup.\n  [CPUFREQ] Remove duplicate cpuinfo struct\n  [CPUFREQ] Silence powernow-k8 warning on k7\u0027s.\n"
    },
    {
      "commit": "2e1ca21d46aaef95101723fa402f39d3a95aba59",
      "tree": "cd95efefb9ccb6ab4ac0589d01c06cdfc22cc989",
      "parents": [
        "315ab19a6d12d6af7b6957090822f3057ab7e80f",
        "eae0f536f640bb95f2ad437a57c40c7d5683d1ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:48:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:48:48 2006 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild\n\n* master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild: (46 commits)\n  kbuild: remove obsoleted scripts/reference_* files\n  kbuild: fix make help \u0026 make *pkg\n  kconfig: fix time ordering of writes to .kconfig.d and include/linux/autoconf.h\n  Kconfig: remove the CONFIG_CC_ALIGN_* options\n  kbuild: add -fverbose-asm to i386 Makefile\n  kbuild: clean-up genksyms\n  kbuild: Lindent genksyms.c\n  kbuild: fix genksyms build error\n  kbuild: in makefile.txt note that Makefile is preferred name for kbuild files\n  kbuild: replace PHONY with FORCE\n  kbuild: Fix bug in crc symbol generating of kernel and modules\n  kbuild: change kbuild to not rely on incorrect GNU make behavior\n  kbuild: when warning symbols exported twice now tell user this is the problem\n  kbuild: fix make dir/file.xx when asm symlink is missing\n  kbuild: in the section mismatch check try harder to find symbols\n  kbuild: fix section mismatch check for unwind on IA64\n  kbuild: kill false positives from section mismatch warnings for powerpc\n  kbuild: kill trailing whitespace in modpost \u0026 friends\n  kbuild: small update of allnoconfig description\n  kbuild: make namespace.pl CROSS_COMPILE happy\n  ...\n\nTrivial conflict in arch/ppc/boot/Makefile manually fixed up\n"
    },
    {
      "commit": "f081a529f808ed450c22553de7b3275e0ffde9a0",
      "tree": "0c50e4a3a4a95a5d97c1e9ceddaed6c0034115aa",
      "parents": [
        "1e8c573933fd7975679766850252ad08667e5ca4"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 01:51:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:42:45 2006 -0800"
      },
      "message": "[PATCH] cpufreq: speedstep-smi asm fix\n\nFix bug identified by Linus Torvalds \u003ctorvalds@osdl.org\u003e: the `out\u0027\ninstruction depends upon the state of memory_data[], so we need to tell gcc\nthat before executing it. (The opcode, not gcc).\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d5553\n\nThanks to Antonio Ospite \u003cospite@studenti.unina.it\u003e for testing.\n\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34f361ade2fb4a869f6a7714d01c04ce4cfa75d9",
      "tree": "a250999fc386ddbfe3c92e4d8ffdcf2d3393134a",
      "parents": [
        "f1a1c2dc2a956c375b432d2a9a28e52ba9d81c7c"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Sat Mar 25 03:08:18 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:01 2006 -0800"
      },
      "message": "[PATCH] Check if cpu can be onlined before calling smp_prepare_cpu()\n\n- Moved check for online cpu out of smp_prepare_cpu()\n\n- Moved default declaration of smp_prepare_cpu() to kernel/cpu.c\n\n- Removed lock_cpu_hotplug() from smp_prepare_cpu() to around it, since\n  its called from cpu_up() as well now.\n\n- Removed clearing from cpu_present_map during cpu_offline as it breaks\n  using cpu_up() directly during a subsequent online operation.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.ibm.com\u003e\nCc: \"Li, Shaohua\" \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4a2f0acf0f951599fd9e4af95cf9483449970c26",
      "tree": "55e94035f8cc2dbe178f45c73ed9b73e09a3e540",
      "parents": [
        "33d8675ea66e79d21da3ed64ce88dfb2a18bc6a7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sat Mar 25 03:07:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:54 2006 -0800"
      },
      "message": "[PATCH] kconfig: clarify memory debug options\n\nThe Kconfig text for CONFIG_DEBUG_SLAB and CONFIG_DEBUG_PAGEALLOC have always\nseemed a bit confusing.  Change them to:\n\nCONFIG_DEBUG_SLAB: \"Debug slab memory allocations\"\nCONFIG_DEBUG_PAGEALLOC: \"Debug page memory allocations\"\n\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2c3ca07d2f691a463b715c83122c87f57c2a7b7c",
      "tree": "4aa00f81b79c6a5cb33631836d020ca32d787e20",
      "parents": [
        "9871728b756646e0d758a966ba00f2c0ff812817"
      ],
      "author": {
        "name": "Andrey Borzenkov",
        "email": "arvidjaar@mail.ru",
        "time": "Sat Mar 25 03:07:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:52 2006 -0800"
      },
      "message": "[PATCH] Fix EDD to properly ignore signature of non-existing drives\n\nSome BIOSes do not always set CF on error before return from int13.  The\npatch adds additional check for status being zero (AH \u003d\u003d 0).\n\nSigned-off-by: Andrey Borzenkov \u003carvidjaar@mail.ru\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": "a7d06ca7b626c9257bee4439d9d80a7e44ae237e",
      "tree": "1951ab3f604771885987b46d8858711a4d3ddf88",
      "parents": [
        "d3f4aaa3d7b4152dac28751ee902f769d03289a1"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Sat Mar 25 03:06:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] x86: HUGETLBFS and DEBUG_PAGEALLOC are incompatible\n\nDEBUG_PAGEALLOC is not compatible with hugetlb page support.  That debug\noption turns off PSE.  Once it is turned off in CR4, the cpu will ignore\npse bit in the pmd and causing infinite page-not- present faults.\n\nSo disable DEBUG_PAGEALLOC if the user selected hugetlbfs.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\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": "d3f4aaa3d7b4152dac28751ee902f769d03289a1",
      "tree": "66c5313a705a5169b2c5cc12b703489c39b8ee52",
      "parents": [
        "f5335c0f1bcba16907972b66b905f62402433e23"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Sat Mar 25 03:06:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:50 2006 -0800"
      },
      "message": "[PATCH] x86: make CONFIG_HOTPLUG_CPU depend on !X86_PC\n\nMake CONFIG_HOTPLUG_CPU depend on !X86_PC, so we need to turn on either\nCONFIG_GENERICARCH, CONFIG_BIGSMP or any other subarch except X86_PC when\nCONFIG_HOTPLUG_CPU\u003dy\n\nWith 2.6.15+ kernels when CONFIG_HOTPLUG_CPU is turned on we switch to\nbigsmp mode for sending IPI\u0027s and ioapic configurations that caused the\nfollowing error message.\n\n\u003e\u003e More than 8 CPUs detected and CONFIG_X86_PC cannot handle it.\n\u003e\u003e Use CONFIG_X86_GENERICARCH or CONFIG_X86_BIGSMP.\n\nOriginally bigsmp was added just to handle \u003e8 cpus, but now with hotplug\ncpu support we need to use bigsmp mode (why?  see below), that cause the\nabove error message even if there were less than 8 cpus in the system.\n\nThe message is bogus, but we are cannot use logical flat mode due to issues\nwith broadcast IPI can confuse a CPU just comming up.  We use flat physical\nmode just like x86_64 case.  More details on why bigsmp now uses flat\nphysical mode (vs.  cluster mode) in following link.\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113261865814107\u0026w\u003d2\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc83455bc8336f57cd74d6e86b0f8fcad187d179",
      "tree": "fe0a425d375ee880179685b2156a8a22e9a222b0",
      "parents": [
        "b2fd16b4ff2508ac16ae994f4bcd941f97754c00"
      ],
      "author": {
        "name": "Andrey Panin",
        "email": "pazke@donpac.ru",
        "time": "Sat Mar 25 03:06:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:48 2006 -0800"
      },
      "message": "[PATCH] fix DMI onboard device discovery\n\nAttached patch fixes invalid pointer arithmetic in DMI code to make onboard\ndevice discovery working again.\n\nakpm: bug has been present since dmi_find_device() was added in 2.6.14.\nAffects ipmi only (I think) - the symptoms weren\u0027t described.\n\nakpm: changed to use pointer arithmetic rather than open-coded sizeof.\n\nSigned-off-by: Andrey Panin \u003cpazke@donpac.ru\u003e\nCc: Corey Minyard \u003cminyard@acm.org\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": "cdb0452789d365695b5b173542af9c7e3d24f185",
      "tree": "f8594a754736aecfb52d835a2e12f46a923e6ed6",
      "parents": [
        "008accbbae6b2f18c2039d563f28d46ff4388d36"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Mar 24 03:15:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:21 2006 -0800"
      },
      "message": "[PATCH] kill include/linux/platform.h, default_idle() cleanup\n\ninclude/linux/platform.h contained nothing that was actually used except\nthe default_idle() prototype, and is therefore removed by this patch.\n\nThis patch does the following with the platform specific default_idle()\nfunctions on different architectures:\n- remove the unused function:\n  - parisc\n  - sparc64\n- make the needlessly global function static:\n  - arm\n  - h8300\n  - m68k\n  - m68knommu\n  - s390\n  - v850\n  - x86_64\n- add a prototype in asm/system.h:\n  - cris\n  - i386\n  - ia64\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nAcked-by: 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": "a72011567812cbd93788cc5facda160a3cba5905",
      "tree": "9cdd83b4b769e9af72c76d0670fa9ae55164844b",
      "parents": [
        "674a396c6d2ba0341ebdd7c1c9950f32f018e2dd"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Mar 24 03:15:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 24 07:33:15 2006 -0800"
      },
      "message": "[PATCH] more-for_each_cpu-conversions fix\n\nI screwed up this conversion - we should be iterating across online CPUs, not\npossible ones.\n\nSpotted by Joe Perches \u003cjoe@perches.com\u003e\n\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c4b2cf9af9b4ecc29d4f0ec4ecc8e94dc4432d7",
      "tree": "4f8e56e9012847aa4dfe4ec2c59f4d8b2714f2b2",
      "parents": [
        "a0454b40ee8fac03194bb71f01730266506e75e1"
      ],
      "author": {
        "name": "Bernhard Kaindl",
        "email": "bk@suse.de",
        "time": "Sat Feb 18 01:36:55 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 23 14:35:14 2006 -0800"
      },
      "message": "[PATCH] PCI: PCI/Cardbus cards hidden, needs pci\u003dassign-busses to fix\n\n\"In some cases, especially on modern laptops with a lot of PCI and cardbus\nbridges, we\u0027re unable to assign correct secondary/subordinate bus numbers\nto all cardbus bridges due to BIOS limitations unless we are using\n\"pci\u003dassign-busses\" boot option.\" -- Ivan Kokshaysky (from a patch comment)\n\nWithout it, Cardbus cards inserted are never seen by PCI because the parent\nPCI-PCI Bridge of the Cardbus bridge will not pass and translate Type 1 PCI\nconfiguration cycles correctly and the system will fail to find and\ninitialise the PCI devices in the system.\n\nReference: PCI-PCI Bridges: PCI Configuration Cycles and PCI Bus Numbering:\nhttp://www.science.unitn.it/~fiorella/guidelinux/tlk/node72.html\n\nThe reason for this is that:\n ``All PCI busses located behind a PCI-PCI bridge must reside between the\nsecondary bus number and the subordinate bus number (inclusive).\u0027\u0027\n\n\"pci\u003dassign-busses\" makes pcibios_assign_all_busses return 1 and this\nturns on PCI renumbering during PCI probing.\n\nAlan suggested to use DMI automatically set assign-busses on problem systems.\n\nThe only question for me was where to put it.  I put it directly before\nscanning PCI bus into pcibios_scan_root() because it\u0027s called from legacy,\nacpi and numa and so it can be one place for all systems and configurations\nwhich may need it.\n\nAMD64 Laptops are also affected and fixed by assign-busses, and the code is\nalso incuded from arch/x86_64/pci/ that place will also work for x86_64\nkernels, I only ifdef\u0027-ed the x86-only Laptop in this example.\n\nAffected and known or assumed to be fixed with it are (found by googling):\n\n* ASUS Z71V and L3s\n* Samsung X20\n* Compaq R3140us and all Compaq R3000 series laptops with TI1620 Controller,\n  also Compaq R4000 series (from a kernel.org bugreport)\n* HP zv5000z (AMD64 3700+, known that fixup_parent_subordinate_busnr fixes it)\n* HP zv5200z\n* IBM ThinkPad 240\n* An IBM ThinkPad (1.8 GHz Pentium M) debugged by Pavel Machek\n  gives the correspondig message which detects the possible problem.\n* MSI S260 / Medion SIM 2100 MD 95600\n\nThe patch also expands the \"try pci\u003dassign-busses\" warning so testers will\nhelp us to update the DMI table.\n\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "b408cbc704352eccee301e1103b23203ba1c3a0e",
      "tree": "5d0262537d6b3a3406aec61298520c045af9be8b",
      "parents": [
        "75cde0e25787c1af341a128b350c36df24e5397d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@osdl.org",
        "time": "Wed Feb 22 15:50:30 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 23 14:35:14 2006 -0800"
      },
      "message": "[PATCH] PCI: resource address mismatch\n\nOn Tue, 21 Feb 2006, Ivan Kokshaysky wrote:\n\u003e There are two bogus entries in the BIOS memory map table which are\n\u003e conflicting with a prefetchable memory range of the AGP bridge:\n\u003e\n\u003e  BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)\n\u003e  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)\n\u003e\n\u003e 0000:00:02.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP) (prog-if 00 [Normal decode])\n\u003e \tFlags: bus master, fast devsel, latency 0\n\u003e \tBus: primary\u003d00, secondary\u003d01, subordinate\u003d01, sec-latency\u003d0\n\u003e \tI/O behind bridge: 0000c000-0000cfff\n\u003e \tMemory behind bridge: e7e00000-e7efffff\n\u003e \tPrefetchable memory behind bridge: fec00000-ffcfffff\n\u003e \t\t\t\t\t   ^^^^^^^^^^^^^^^^^\n\nYes. However, it\u0027s pretty clear that the e820 entries are there for a\nreason. Probably they are a hack by the BIOS maintainers to keep Windows\nfrom stomping/moving that region, exactly because they want to keep the\nbridge where it is (or, it\u0027s actually for the BIOS itself - the BIOS\ntables are a horrid mess, and BIOS engineers are pretty hacky people:\nthey\u0027ll add random entries to make their own broken algorithms do the\n\"right thing\").\n\n\u003e Starting from 2.6.13, kernel tries to resolve that sort of conflicts,\n\u003e so that prefetch window of the bridge and the framebuffer memory behind\n\u003e it get moved to 0x10000000.\n\nI think we could (and probably should) solve this another way: consider\nthe ACPI \"reserved regions\" from the e820 map exactly the same way that we\ndo other ACPI hints - they should restrict _new_ allocations, but not\nimpact stuff we figure out on our own.\n\nBasically, right now we assign _unassigned_ resources at \"fs_initcall\"\ntime. If we were to add in the e820 \"reserved region\" stuff before that\n(but after we\u0027ve done PCI discovery), we\u0027d probably do the right thing.\n\nRight now we do the e820 reserved regions very early indeed: we call\n\"register_memory()\" from setup_arch(). We could move at least part of it\n(the part that registers the resources) down a bit.\n\nHere\u0027s a test-patch. I\u0027m not saying we should absolutely do this, but it\nmight be interesting to try...\n\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: \u003cbjk@luxsci.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "92c05fc1a32e5ccef5e0e8201f32dcdab041524c",
      "tree": "71c0202dffee676d3b2e0b75ea4472aaa2ffe8df",
      "parents": [
        "e4e73041ecc4a3559c42ed9489f58531c2a8646b"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Mar 23 14:35:12 2006 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 23 14:35:12 2006 -0800"
      },
      "message": "[PATCH] PCI: Give PCI config access initialization a defined ordering\n\nI moved it to a separate function which is safer.\n\nThis avoids problems with the linker reordering them and the\nless useful PCI config space access methods taking priority\nover the better ones.\n\nFixes some problems with broken MMCONFIG\n\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "394e3902c55e667945f6f1c2bdbc59842cce70f7",
      "tree": "f4bca0bdc0c291fda6f6949265aacec0669b9084",
      "parents": [
        "63872f87a151413100678f110d1556026002809e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:01:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:17 2006 -0800"
      },
      "message": "[PATCH] more for_each_cpu() conversions\n\nWhen we stop allocating percpu memory for not-possible CPUs we must not touch\nthe percpu data for not-possible CPUs at all.  The correct way of doing this\nis to test cpu_possible() or to use for_each_cpu().\n\nThis patch is a kernel-wide sweep of all instances of NR_CPUS.  I found very\nfew instances of this bug, if any.  But the patch converts lots of open-coded\ntest to use the preferred helper macros.\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Christian Zankel \u003cchris@zankel.net\u003e\nCc: Philippe Elie \u003cphil.el@wanadoo.fr\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dd287796d608fcdc3fe5e8fdb5bf762a8f1bc32a",
      "tree": "84be163fdc5fe36eb8d3f1aa5e60bfd1d794c641",
      "parents": [
        "41c28ff1635e71af072c4711ff5fadd5855d48e7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Mar 23 03:00:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:16 2006 -0800"
      },
      "message": "[PATCH] pause_on_oops command line option\n\nAttempt to fix the problem wherein people\u0027s oops reports scroll off the screen\ndue to repeated oopsing or to oopses on other CPUs.\n\nIf this happens the user can reboot with the `pause_on_oops\u003d\u003cseconds\u003e\u0027 option.\nIt will allow the first oopsing CPU to print an oops record just a single\ntime.  Second oopsing attempts, or oopses on other CPUs will cause those CPUs\nto enter a tight loop until the specified number of seconds have elapsed.\n\nThe patch implements the infrastructure generically in the expectation that\narchitectures other than x86 will find it useful.\n\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "91368d73e4b60d577ad171e5bd315b564265fcdb",
      "tree": "067d3738aa4bf8d49623632bb47952aca6f8f965",
      "parents": [
        "3257545e40a769cbef98cf13eabe50f00712991e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:16 2006 -0800"
      },
      "message": "[PATCH] make bug messages more consistent\n\nConsolidate all kernel bug printouts to begin with the \"BUG: \" string.\nMakes it easier to find them in large bootup logs.\n\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": "7a7d1cf95408863a657035701606b13644c9f55e",
      "tree": "7eaee4f3221aabcac2f57fb0295dd1e4763a1e8c",
      "parents": [
        "2c68ee754c40099c59828e59618a54726f76126a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:12 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: kprobes\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\nAcked-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc558a7496bfab3d29a68953b07a95883fdcfbb1",
      "tree": "f40935c321e088b40608ebbcc8fc502d269578da",
      "parents": [
        "ce6ed29f3136bc4b3644ecf4091d6390d444f628"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 23 03:00:05 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:08 2006 -0800"
      },
      "message": "[PATCH] swsusp: finally solve mysqld problem\n\nThis patch from Pavel moves userland freeze signals handling into more logical\nplace.  It now hits even with mysqld running.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bdaff4a331db46f3bd953f413316c4603c4004b4",
      "tree": "a0c379bb38725c912ae674866e5db1b5d7e44d50",
      "parents": [
        "aeefc956d5d8f8402216a5447bd72ade9eb37eff"
      ],
      "author": {
        "name": "Ashok Raj",
        "email": "ashok.raj@intel.com",
        "time": "Thu Mar 23 02:59:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:07 2006 -0800"
      },
      "message": "[PATCH] x86 topology: don;t create a control file for BSP that cannot be removed\n\nDon\u0027t create \"online\" control file for BSP (i386/x86_64) since its\nnot removable.\n\nWe originally added this to support ppc64 if the kernel has support but\nBIOS indicated no offline support, we just didnt create online files for\nthem.\n\nWe used the same method in ia64 as well, if we have a cpu taking platform\ninterrupts but cannot be removed if those interrupts cannot be re-targeted\nto another cpu.\n\nSigned-off-by: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "905c399594f85322a4e513a4b0365b70d6de9fd0",
      "tree": "66e44a32d1e5c263a643e130c71e10132c195bc0",
      "parents": [
        "42c059e04d507802006911e316d86aa8ef75eb73"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Mar 23 02:59:55 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] x86: some fixups for the X86_NUMAQ dependencies\n\nYou must always ensure to fulfill the dependencies of what you are\nselect\u0027ing.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Martin Bligh \u003cmbligh@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c5c1e427b5e83807fd05419d1cf6991b9d87247",
      "tree": "780820efe1aa9ef26e756c157b14de9d3f84649f",
      "parents": [
        "f2d0d263b51d13efe55f0aae9254b69ba2855f1c"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Mar 23 02:59:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] x86: deterine xapic using apic version\n\nChecking APIC version instead of CPU family to determine XAPIC. Family 6\nCPU could have xapic as well.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.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": "f2d0d263b51d13efe55f0aae9254b69ba2855f1c",
      "tree": "a392ca227a460b22fe90cc5bca73e18e0b70cbdb",
      "parents": [
        "75874d5cc8efef22457072e14103dc55f164e64e"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Mar 23 02:59:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] x86: cpuid.4 doesn\u0027t need cpu level 5\n\nDetecting cache line using cpuid.4, cpuid level 4 is enough.\n\nSigned-off-by: Shaohua Li\u003cshaohua.li@intel.com\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: \"Seth, Rohit\" \u003crohit.seth@intel.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": "75874d5cc8efef22457072e14103dc55f164e64e",
      "tree": "86458247e120310fdd6679e4575102958b6c022c",
      "parents": [
        "4ef0652a74d9c460299b00566d033bd45d60da98"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] i386: fix dump_stack()\n\ni386 has a small bug in the stack dump code where it prints an extra log\nlevel code.  Remove that and fix the alignment of normal stack dump\nprintout.  Also remove some unnecessary printk() calls.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ef0652a74d9c460299b00566d033bd45d60da98",
      "tree": "3770089061358447923d8373b163868dd78dc81c",
      "parents": [
        "52f4a91afd9316fb4f0f3a77c5ff56b9c98632ea"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Thu Mar 23 02:59:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] i386: cleanup after cpu_gdt_descr conversion to per-cpu data\n\nWith cpu_gdt_descr having been converted to per-CPU data, the old object\n(in head.S) no longer needs to reserve space for each CPU\u0027s instance.  With\ncpu_gdt_table not being used for CPU 0 anymore, it doesn\u0027t seem to need\npage alignment (or if in fact there is a need for it to retain that\nalignment, the whole object should go into .data.page_align).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52f4a91afd9316fb4f0f3a77c5ff56b9c98632ea",
      "tree": "b3cd99d7c9474e50dfd819a3feba3ee3d93d9b44",
      "parents": [
        "382dbd07c9cb4f255c28f680996ad819a8ce9bfe"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Mar 23 02:59:50 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] Fix the imlicit declaration of mtrr_centaur_report_mcr in arch/i386/kernel/cpu/centaur.c\n\narch/i386/kernel/cpu/centaur.c: In function `centaur_mcr_insert\u0027:\narch/i386/kernel/cpu/centaur.c:33: warning: implicit declaration of function `mtrr_centaur_report_mcr\u0027\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "382dbd07c9cb4f255c28f680996ad819a8ce9bfe",
      "tree": "f3f84864b8164704a21b72e071c4868c9f1dc828",
      "parents": [
        "be0a39120cb6b88bd085a3a280f5c769a3ed85ad"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Mar 23 02:59:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] fix implicit declaration of GET_APIC_ID in arch/i386/kernel/apic.c\n\narch/i386/kernel/apic.c:840: warning: implicit declaration of function `GET_APIC_ID\u0027\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "be0a39120cb6b88bd085a3a280f5c769a3ed85ad",
      "tree": "39a882518d67f22894cdec615db32aad2b070f73",
      "parents": [
        "635cf99a80f4ebee59d70eb64bb85ce829e4591f"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:06 2006 -0800"
      },
      "message": "[PATCH] i386: more vsyscall documentation\n\nDocument a limitation of vsyscall-sysenter, since patches to fix it have\nbeen rejected.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "635cf99a80f4ebee59d70eb64bb85ce829e4591f",
      "tree": "6c204f34a959d62852812a85faefec5e5bd81b1f",
      "parents": [
        "db753bdfc24c31228996799d508ce3bf7cbe3b99"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:48 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:05 2006 -0800"
      },
      "message": "[PATCH] i386: fix singlestep through an int80 syscall\n\nUsing PTRACE_SINGLESTEP on a child that does an int80 syscall misses the\nSIGTRAP that should be delivered upon syscall exit.  Fix that by setting\nTIF_SINGLESTEP when entering the kernel via int80 with TF set.\n\n/* Test whether singlestep through an int80 syscall works.\n */\n#define _GNU_SOURCE\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/ptrace.h\u003e\n#include \u003csys/wait.h\u003e\n#include \u003csys/mman.h\u003e\n#include \u003casm/user.h\u003e\n\nstatic int child, status;\nstatic struct user_regs_struct regs;\n\nstatic void do_child()\n{\n\tptrace(PTRACE_TRACEME, 0, 0, 0);\n\tkill(getpid(), SIGUSR1);\n\tasm (\"int $0x80\" : : \"a\" (20)); /* getpid */\n}\n\nstatic void do_parent()\n{\n\tunsigned long eip, expected \u003d 0;\nagain:\n\twaitpid(child, \u0026status, 0);\n\tif (WIFEXITED(status) || WIFSIGNALED(status))\n\t\treturn;\n\n\tif (WIFSTOPPED(status)) {\n\t\tptrace(PTRACE_GETREGS, child, 0, \u0026regs);\n\t\teip \u003d regs.eip;\n\t\tif (expected)\n\t\t\tfprintf(stderr, \"child stop @ %08x, expected %08x %s\\n\",\n\t\t\t\t\teip, expected,\n\t\t\t\t\teip \u003d\u003d expected ? \"\" : \" \u003c\u003d\u003d ERROR\");\n\n\t\tif (*(unsigned short *)eip \u003d\u003d 0x80cd) {\n\t\t\tfprintf(stderr, \"int 0x80 at %08x\\n\", (unsigned int)eip);\n\t\t\texpected \u003d eip + 2;\n\t\t} else\n\t\t\texpected \u003d 0;\n\n\t\tptrace(PTRACE_SINGLESTEP, child, NULL, NULL);\n\t}\n\tgoto again;\n}\n\nint main(int argc, char * const argv[])\n{\n\tchild \u003d fork();\n\tif (child)\n\t\tdo_parent();\n\telse\n\t\tdo_child();\n\treturn 0;\n}\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db753bdfc24c31228996799d508ce3bf7cbe3b99",
      "tree": "620f4154d7c297857fa9d9512ccaeb113342c078",
      "parents": [
        "101f12af16fb12f8da8100899a13ee1b1b576a0a"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Thu Mar 23 02:59:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:05 2006 -0800"
      },
      "message": "[PATCH] i386: fix uses of user_mode() vs. user_mode_vm()\n\n\u003ecommit 76381fee7e8feb4c22be636aa5d4765dbe4fbf9e\n\u003eAuthor: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\n\u003eDate:   Thu Jun 23 00:08:46 2005 -0700\n\u003e\n\u003e    [PATCH] xen: x86_64: use more usermode macro\n\u003e\n\u003e    Make use of the user_mode macro where it\u0027s possible.  This is useful for Xen\n\u003e    because it will need only to redefine only the macro to a hypervisor call.\n\nI am of the opinion that the above changeset is incomplete, i.e.  it missed\nconverting some previous uses of user_mode to user_mode_vm.  While most of\nthem could be considered just cosmetical, at least the one in die_nmi\ndoesn\u0027t appear to be.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Vincent Hanquez \u003cvincent.hanquez@cl.cam.ac.uk\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "101f12af16fb12f8da8100899a13ee1b1b576a0a",
      "tree": "0bea73d2702ba438e8e82bc8000b498aa50aee6e",
      "parents": [
        "44fd22992cb76dc51c52cf4b8aff1bc7899bb23c"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Thu Mar 23 02:59:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:05 2006 -0800"
      },
      "message": "[PATCH] i386: actively synchronize vmalloc area when registering certain callbacks\n\nRegistering a callback handler through register_die_notifier() is obviously\nprimarily intended for use by modules.  However, the way these currently\nget called it is basically impossible for them to actually be used by\nmodules, as there is, on non-PAE configurationes, a good chance (the larger\nthe module, the better) for the system to crash as a result.\n\nThis is because the callback gets invoked\n\n(a) in the page fault path before the top level page table propagation\n    gets carried out (hence a fault to propagate the top level page table\n    entry/entries mapping to module\u0027s code/data would nest infinitly) and\n\n(b) in the NMI path, where nested faults must absolutely not happen,\n    since otherwise the IRET from the nested fault re-enables NMIs,\n    potentially resulting in nested NMI occurences.\n\nBesides the modular aspect, similar problems would even arise for in-\nkernel consumers of the API if they touched ioremap()ed or vmalloc()ed\nmemory inside their handlers.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "99b7de33477882b86d54ce8ecbf90147f9d106d7",
      "tree": "1409719376eff18346aa6f15ad9d2f698d61302e",
      "parents": [
        "8bed51cd17464433a0c77afc8a5150e51d3da37d"
      ],
      "author": {
        "name": "Stas Sergeev",
        "email": "stsp@aknet.ru",
        "time": "Thu Mar 23 02:59:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:05 2006 -0800"
      },
      "message": "[PATCH] x86: early printk handling fixes\n\nThe history is that -mm kernels do not work for me for a few months\nalready.  The things started from crashing somewhere after starting init,\nand for the last month - no boot at all, just \"Uncompressing...  OK,\nbooting kernel\", and silence.  Early console didn\u0027t work too.  With the\nlatest releases this degraded into an infinite stream of the \"Unknown\ninterrupt or fault\" messages.  So today my patience ran out and I started\nto think how can I collect at least some info for the bug-report.  Attached\nis the patch that allows to gather some valueable debug info on the problem\nby making an early console more useable.  I can\u0027t properly test the patch,\nas the kernel still doesn\u0027t boot, so I\u0027ll explain it in details in a hope\nsomeone else can justify the intrusive changes.\n\narch_hooks.h: added prototypes for setup_early_printk() and early_printk().\n\nsetup.c: killed wrong setup_early_printk() prototype.  Moved\nsetup_early_printk() a bit earlier, as it was not \"early enough\" to cover\nthe bug I was fighting with.\n\nearly_printk.c: made it to start printing from the bottom of the screen,\notherwise the messages interfere with the ones of the boot-loader, so you\ncan\u0027t read them.\n\nSigned-off-by: Stas Sergeev \u003cstsp@aknet.ru\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Zwane Mwaikambo \u003czwane@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": "8bed51cd17464433a0c77afc8a5150e51d3da37d",
      "tree": "7ffd751ba256f1f88e5888f624cb6e08c2a95bd7",
      "parents": [
        "3c36c6aa4aa1b3483c6a0370028608367426f58e"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:05 2006 -0800"
      },
      "message": "[PATCH] i386: let signal handlers set the resume flag\n\nAllow signal handlers to set the RF bit in EFLAGS.  This lets a simple\ndebugger using SIGTRAP skip one instruction after returning from a signal.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c36c6aa4aa1b3483c6a0370028608367426f58e",
      "tree": "2eaa033543eb67536f7da6ac1912f7a41e87ff7e",
      "parents": [
        "cc04ee9cc527e314e6906849ee931c33764f861e"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] i386: Don\u0027t let ptrace set the nested task bit\n\nThere\u0027s no good reason for allowing ptrace to set the NT bit in EFLAGS, so\nmask it off.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc04ee9cc527e314e6906849ee931c33764f861e",
      "tree": "525858d30d3160a19a820c8286868330e6edc445",
      "parents": [
        "7c63ee5cf7d210b51c2a8243e29988edec2646ed"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Mar 23 02:59:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] i386 traps: merge printk calls\n\nMerge a few printk calls in i386 traps.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5428ede94179ddccaa56308e0f194fa299edbb4",
      "tree": "baba6926b3176442d9bf8cdcc86a5ed30bac22ba",
      "parents": [
        "54a20f8c5d778ed3603130de4b92f64405228611"
      ],
      "author": {
        "name": "Natalie.Protasevich@unisys.com",
        "email": "Natalie.Protasevich@unisys.com",
        "time": "Thu Mar 23 02:59:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] Compilation fix for ES7000 when no ACPI is specified in config (i386)\n\nES7000 platform code clean up for compilation errors and a warning.\nIfdef\u0027d the ACPI related parts in the ES7000 platform code.  They were\ncausing compile errors in certain configuration (without ACPI defined).  I\nthink this approach would be best (as opposed to Kconfig changes) since it\nonly touches the subarch...\n\nSigned-off-by: \u003cNatalie.Protasevich@unisys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "54a20f8c5d778ed3603130de4b92f64405228611",
      "tree": "ced7969ecc3348c0aadd700e93c74449fd76b5ca",
      "parents": [
        "30e931d4092713cecd6b8c2fd70f268efaa6e428"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] i386: fall back to sensible CPU model name\n\nWhen vendor-specific i386 initialization code is unavailable the kernel\nfalls back to a default CPU model name.  Make that model name reflect the\nCPU family instead of an internal vendor index.\n\nTested on Pentium II (family 6 model 5).\n\n/proc/cpuinfo before:\n        model name     : ff/05\n\nafter:\n        model name     : 06/05\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nAcked-by: \"Seth, Rohit\" \u003crohit.seth@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4f88651125e2ca8b106b6f65b65ea45776517bf3",
      "tree": "a9865c268c57bd1752a66899615d8694d5ddaea8",
      "parents": [
        "3bc9b76bede9b3c72088258c7e72eb823f3351d4"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] i386: allow disabling X86_FEATURE_SEP at boot\n\nAllow the x86 \"sep\" feature to be disabled at bootup.  This forces use of the\nint80 vsyscall.  Mainly for testing or benchmarking the int80 vsyscall code.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3bc9b76bede9b3c72088258c7e72eb823f3351d4",
      "tree": "9f1eed2e6ebc9e7a990178e62b55fb6ee3267d8f",
      "parents": [
        "9a0b5817ad97bb718ab85322759d19a238712b47"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:33 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] i386: __devinit should be __cpuinit\n\nSeveral places in arch/i386/kernel/cpu and kernel/cpu were using __devinit\nwhen they should have been __cpuinit.  Fixing that saves ~4K when\nCONFIG_HOTPLUG \u0026\u0026 !CONFIG_HOTPLUG_CPU.\n\nNoticed by Andrew Morton.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a0b5817ad97bb718ab85322759d19a238712b47",
      "tree": "39bd21eb69c4001b99096d96a76a2e5d37904108",
      "parents": [
        "4d7d8c82c181711d28c8336108330a9121f5ef07"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@suse.de",
        "time": "Thu Mar 23 02:59:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:04 2006 -0800"
      },
      "message": "[PATCH] x86: SMP alternatives\n\nImplement SMP alternatives, i.e.  switching at runtime between different\ncode versions for UP and SMP.  The code can patch both SMP-\u003eUP and UP-\u003eSMP.\nThe UP-\u003eSMP case is useful for CPU hotplug.\n\nWith CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and\nwhen the number of CPUs goes down to 1, and switches to SMP when the number\nof CPUs goes up to 2.\n\nWithout CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is\npatched once at boot time (if needed) and the tables are released\nafterwards.\n\nThe changes in detail:\n\n  * The current alternatives bits are moved to a separate file,\n    the SMP alternatives code is added there.\n\n  * The patch adds some new elf sections to the kernel:\n    .smp_altinstructions\n\tlike .altinstructions, also contains a list\n\tof alt_instr structs.\n    .smp_altinstr_replacement\n\tlike .altinstr_replacement, but also has some space to\n\tsave original instruction before replaving it.\n    .smp_locks\n\tlist of pointers to lock prefixes which can be nop\u0027ed\n\tout on UP.\n    The first two are used to replace more complex instruction\n    sequences such as spinlocks and semaphores.  It would be possible\n    to deal with the lock prefixes with that as well, but by handling\n    them as special case the table sizes become much smaller.\n\n * The sections are page-aligned and padded up to page size, so they\n   can be free if they are not needed.\n\n * Splitted the code to release init pages to a separate function and\n   use it to release the elf sections if they are unused.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@suse.de\u003e\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4d7d8c82c181711d28c8336108330a9121f5ef07",
      "tree": "2e1537702c1e8447dfbe5b5917333f58f4416c1a",
      "parents": [
        "b824eb605ccba995fd32c6590aed365f93d48002"
      ],
      "author": {
        "name": "Chuck Ebbert",
        "email": "76306.1226@compuserve.com",
        "time": "Thu Mar 23 02:59:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:03 2006 -0800"
      },
      "message": "[PATCH] i386: multi-column stack backtraces\n\nPrint stack backtraces in multiple columns, saving screen space.  Number of\ncolumns is configurable and defaults to one so behavior is\nbackwards-compatible.\n\nAlso removes the brackets around addresses when printing more\nthat one entry per line so they print as:\n    \u003caddress\u003e\ninstead of:\n    [\u003caddress\u003e]\nThis helps multiple entries fit better on one line.\n\nOriginal idea by Dave Jones, taken from x86_64.\n\nSigned-off-by: Chuck Ebbert \u003c76306.1226@compuserve.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b824eb605ccba995fd32c6590aed365f93d48002",
      "tree": "f5720240b044b46ac83e127e2c5586cd8ef2ed75",
      "parents": [
        "69ef4141e03fab1c6956d3c760584c72b548a26f"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 02:59:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:03 2006 -0800"
      },
      "message": "[PATCH] Make CONFIG_REGPARM enabled by default\n\nMake CONFIG_REGPARM enabled by default.  It\u0027s a noticable win both for size\nand for performance, and gcc[34] handles it correctly.\n\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": "69ef4141e03fab1c6956d3c760584c72b548a26f",
      "tree": "09d34f7e57d0938b788ad59fedbd3b28d5e6cf87",
      "parents": [
        "6bb08da4773f584a7b4a838b6b770d7d18033af7"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Mar 23 02:59:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:03 2006 -0800"
      },
      "message": "[PATCH] i386: let REGPARM no longer depend on EXPERIMENTAL\n\nREGPARM has already gotten much testing, what about removing the\ndependency on EXPERIMENTAL?\n\nAdditionally, this patch does:\n- remove the useless \"default n\"\n- remove note regarding binary only modules (nowadays, there are even\n  some binary only modules compiled with REGPARM\u003dy available)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42b88befd6e0dae1a5fe04c03925037fa890e1f3",
      "tree": "c234584f797e65e1bcd0d4675d56d1eb004d6681",
      "parents": [
        "3915bcf38fe0b6d130b4bbde97804f29a0becf32"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Wed Mar 22 00:09:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:04 2006 -0800"
      },
      "message": "[PATCH] hugepage: is_aligned_hugepage_range() cleanup\n\nQuite a long time back, prepare_hugepage_range() replaced\nis_aligned_hugepage_range() as the callback from mm/mmap.c to arch code to\nverify if an address range is suitable for a hugepage mapping.\nis_aligned_hugepage_range() stuck around, but only to implement\nprepare_hugepage_range() on archs which didn\u0027t implement their own.\n\nMost archs (everything except ia64 and powerpc) used the same\nimplementation of is_aligned_hugepage_range().  On powerpc, which\nimplements its own prepare_hugepage_range(), the custom version was never\nused.\n\nIn addition, \"is_aligned_hugepage_range()\" was a bad name, because it\nsuggests it returns true iff the given range is a good hugepage range,\nwhereas in fact it returns 0-or-error (so the sense is reversed).\n\nThis patch cleans up by abolishing is_aligned_hugepage_range().  Instead\nprepare_hugepage_range() is defined directly.  Most archs use the default\nversion, which simply checks the given region is aligned to the size of a\nhugepage.  ia64 and powerpc define custom versions.  The ia64 one simply\nchecks that the range is in the correct address space region in addition to\nbeing suitably aligned.  The powerpc version (just as previously) checks\nfor suitable addresses, and if necessary performs low-level MMU frobbing to\nset up new areas for use by hugepages.\n\nNo libhugetlbfs testsuite regressions on ppc64 (POWER5 LPAR).\n\nSigned-off-by: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a7290ee08e434399660ace34427c17696e47c562",
      "tree": "ee7d16b2c946c90450cf22e8bcd91111ca66270f",
      "parents": [
        "617d2214ee06c209e5c375c280d50abace8058e1"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mbuesch@freenet.de",
        "time": "Wed Mar 22 00:08:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] Uninline sys_mmap common code (reduce binary size)\n\nRemove the inlining of the new vs old mmap system call common code.  This\nreduces the size of the resulting vmlinux for defconfig as follows:\n\nmb@pc1:~/develop/git/linux-2.6$ size vmlinux.mmap*\n   text    data     bss     dec     hex filename\n3303749  521524  186564 4011837  3d373d vmlinux.mmapinline\n3303557  521524  186564 4011645  3d367d vmlinux.mmapnoinline\n\nThe new sys_mmap2() has also one function call overhead removed, now.\n(probably it was already optimized to a jmp before, but anyway...)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29",
      "tree": "405a96eade34845dabe2f125b6c5eb095846869d",
      "parents": [
        "70dc991d66cac40fdb07346dba2b5d862d732c34"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:02 2006 -0800"
      },
      "message": "[PATCH] remove set_page_count() outside mm/\n\nset_page_count usage outside mm/ is limited to setting the refcount to 1.\nRemove set_page_count from outside mm/, and replace those users with\ninit_page_count() and set_page_refcounted().\n\nThis allows more debug checking, and tighter control on how code is allowed\nto play around with page-\u003e_count.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84d1c054b1c408c6c92676069fa678d55d5f0033",
      "tree": "bffcaae1cf80706fcb276a3a15654b03b50bb6ae",
      "parents": [
        "f9aed0e2537174b95908f48b6052ae37196c9390"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Mar 22 00:08:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:54:01 2006 -0800"
      },
      "message": "[PATCH] i386: pageattr remove __put_page\n\nStop using __put_page and page_count in i386 pageattr.c\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "78eef01b0fae087c5fadbd85dd4fe2918c3a015f",
      "tree": "78057039596aa733ff904a36260cca3a51af6981",
      "parents": [
        "ac2b898ca6fb06196a26869c23b66afe7944e52e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:08:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:59 2006 -0800"
      },
      "message": "[PATCH] on_each_cpu(): disable local interrupts\n\nWhen on_each_cpu() runs the callback on other CPUs, it runs with local\ninterrupts disabled.  So we should run the function with local interrupts\ndisabled on this CPU, too.\n\nAnd do the same for UP, so the callback is run in the same environment on both\nUP and SMP.  (strictly it should do preempt_disable() too, but I think\nlocal_irq_disable is sufficiently equivalent).\n\nAlso uninlines on_each_cpu().  softirq.c was the most appropriate file I could\nfind, but it doesn\u0027t seem to justify creating a new file.\n\nOh, and fix up that comment over (under?) x86\u0027s smp_call_function().  It\ndrives me nuts.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68ed0040a8c9d06b73cda322a1f740749bd6e41a",
      "tree": "73fe9f14b93466716b4a79007a33839ee42aad33",
      "parents": [
        "5e7a99ac452d7a4ce43b8bacb3495475e1f9fd71"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Wed Mar 22 00:07:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:55 2006 -0800"
      },
      "message": "[PATCH] x86: mark cyc2ns_scale readmostly\n\nThis variable is rarely written to.  Mark the variable accordingly.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nSigned-off-by: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4078006568c142a909e7889cbdc28804cec25461",
      "tree": "27ebbad413223e626ceb7782fc4ac1242616a1c7",
      "parents": [
        "152475cb0a65ed73301cfbd7d7afab65536643f7"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Mar 22 00:07:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Mar 22 07:53:55 2006 -0800"
      },
      "message": "[PATCH] efi_call_phys_epilog() warning fix\n\narch/i386/kernel/efi.c: In function `efi_call_phys_epilog\u0027:                     arch/i386/kernel/efi.c:118: warning: assignment makes integer from pointer without a cast\n\nCc: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nCc: \"Tolentino, Matthew E\" \u003cmatthew.e.tolentino@intel.com\u003e\nCc: Zachary Amsden \u003czach@vmware.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f30c52d0c9081019bf76a4dbd905bc7c0d89411c",
      "tree": "1b32c7525a4be663ad2ef7b1ef320f4a549669ac",
      "parents": [
        "98cb9e1d0044b438603f8f933803b56573b49f28"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Mar 20 20:14:06 2006 +0100"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@r063144.stusta.swh.mhn.de",
        "time": "Mon Mar 20 20:14:06 2006 +0100"
      },
      "message": "update the i386 defconfig\n\nThe i386 defconfig wasn\u0027t updated for ages.\n\nInstead of running \"make oldconfig\" on the old defconfig and trying to\ngive reasonable answers at all new options, this patch replaces it with\nthe one I\u0027m using in 2.6.16-rc1.\n\nThis way, it\u0027s a .config that is confirmed to work on at least one\ncomputer in the world.  ;-)\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "7e7f8a036b8e2b2a300df016da5e7128c8a9192e",
      "tree": "b3681a073f4ef97a91f53d4b23d0c5aeccbe4993",
      "parents": [
        "7705a8792b0fc82fd7d4dd923724606bbfd9fb20"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Tue Jan 31 16:56:28 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 20 14:08:53 2006 -0500"
      },
      "message": "[PATCH] make vm86 call audit_syscall_exit\n\nhi,\n\nThe motivation behind the patch below was to address messages in\n/var/log/messages such as:\n\nJan 31 10:54:15 mets kernel: audit(:0): major\u003d252 name_count\u003d0: freeing\nmultiple contexts (1)\nJan 31 10:54:15 mets kernel: audit(:0): major\u003d113 name_count\u003d0: freeing\nmultiple contexts (2)\n\nI can reproduce by running \u0027get-edid\u0027 from:\nhttp://john.fremlin.de/programs/linux/read-edid/.\n\nThese messages come about in the log b/c the vm86 calls do not exit via\nthe normal system call exit paths and thus do not call\n\u0027audit_syscall_exit\u0027. The next system call will then free the context for\nitself and for the vm86 context, thus generating the above messages. This\npatch addresses the issue by simply adding a call to \u0027audit_syscall_exit\u0027\nfrom the vm86 code.\n\nBesides fixing the above error messages the patch also now allows vm86\nsystem calls to become auditable. This is useful since strace does not\nappear to properly record the return values from sys_vm86.\n\nI think this patch is also a step in the right direction in terms of\ncleaning up some core auditing code. If we can correct any other paths\nthat do not properly call the audit exit and entries points, then we can\nalso eliminate the notion of context chaining.\n\nI\u0027ve tested this patch by verifying that the log messages no longer\nappear, and that the audit records for sys_vm86 appear to be correct.\nAlso, \u0027read_edid\u0027 produces itentical output.\n\nthanks,\n\n-Jason\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "82c3c03a4096badd026c6e337f3c5dde020e9ec6"
}
