)]}'
{
  "log": [
    {
      "commit": "e30fdb1e026c2d05f216d2e5a25bfafdfd261ec2",
      "tree": "0f65410e1d86f29107af8a665e277efd0393451c",
      "parents": [
        "5b9b5572c87b460cd91f7722ac233d1873cfb084",
        "15a7c3bbe344d75e4891c7d30595899c12ccfaa1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 08:06:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 08:06:16 2006 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata] pata_artop: kill gcc warning\n  [PATCH] libata: turn off NCQ if queue depth is adjusted to 1\n  [PATCH] libata: cosmetic changes to constants\n  [libata] DocBook minor updates, fixes\n  [libata] PCI ID table cleanup in various drivers\n  [libata] Print out Status register, if a BSY-sleep takes too long\n  [libata] init probe_ent-\u003eprivate_data in a common location\n  [libata] minor PCI IDE probe fixes and cleanups\n  [libata] Use new PCI_VDEVICE() macro to dramatically shorten ID lists\n  [PATCH] Fix reference of uninitialised memory in ata_device_add()\n"
    },
    {
      "commit": "5b9b5572c87b460cd91f7722ac233d1873cfb084",
      "tree": "3970437b9998d45ef5ad380b6460a36415179bc6",
      "parents": [
        "ece7f77b86e53bfe14699fdbcb0f03fdad0a01d6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Oct 04 02:17:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:32 2006 -0700"
      },
      "message": "[PATCH] git-powerpc: wrapper: don\u0027t require execute permissions\n\nIf you lose the x bit (eg: by using patch(1)), powerpc won\u0027t build.  Be\ndefensive about it...\n\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\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": "ece7f77b86e53bfe14699fdbcb0f03fdad0a01d6",
      "tree": "7ec7687dadcd6e45d75c8251257eaadae00f6273",
      "parents": [
        "d56b9b9c464a10ab1ee51a4c6190a2b57b8ef7a6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Oct 04 02:17:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:32 2006 -0700"
      },
      "message": "[PATCH] kill sound/oss/*_syms.c\n\nMove all EXPORT_SYMBOL\u0027s from sound/oss/*_syms.c to the files with the\nactual functions.\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": "d56b9b9c464a10ab1ee51a4c6190a2b57b8ef7a6",
      "tree": "a48388734053900a8379042757ee241d1e9dfc7b",
      "parents": [
        "595182bcdf64fbfd7ae22c67ea6081b7d387d246"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Oct 04 02:17:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:32 2006 -0700"
      },
      "message": "[PATCH] The scheduled removal of some OSS drivers\n\nThis patch contains the scheduled removal of OSS drivers that:\n- have ALSA drivers for the same hardware without known regressions and\n- whose Kconfig options have been removed in 2.6.17.\n\n[michal.k.k.piotrowski@gmail.com: build fix]\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Michal Piotrowski \u003cmichal.k.k.piotrowski@gmail.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "595182bcdf64fbfd7ae22c67ea6081b7d387d246",
      "tree": "941bd55b72fb8536b69eca816d207dac7a639b0a",
      "parents": [
        "20e9751bd9dd6b832fd84ada27840360f7e877f1"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] RCU: CREDITS and MAINTAINERS\n\nAdd MAINTAINERS entry for Read-Copy Update (RCU), listing Dipankar Sarma as\nmaintainer, and giving the URL for Paul McKenney\u0027s RCU site.  Add\nMAINTAINERS entry for rcutorture, listing myself as maintainer.  Add\nCREDITS entries for developers of RCU, RCU variants, and rcutorture.  Use\nPaul McKenney\u0027s preferred email address in include/linux/rcupdate.h .\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nCc: Paul McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20e9751bd9dd6b832fd84ada27840360f7e877f1",
      "tree": "c598ff9cb9e540da7f8595f2c130f3674065e018",
      "parents": [
        "4b6c2cca6eef9cc4a15350bf1c61839e12e08b84"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Oct 04 02:17:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: simplify/improve batch tuning\n\nKill a hard-to-calculate \u0027rsinterval\u0027 boot parameter and per-cpu\nrcu_data.last_rs_qlen.  Instead, it adds adds a flag rcu_ctrlblk.signaled,\nwhich records the fact that one of CPUs has sent a resched IPI since the\nlast rcu_start_batch().\n\nRoughly speaking, we need two rcu_start_batch()s in order to move callbacks\nfrom -\u003enxtlist to -\u003edonelist.  This means that when -\u003eqlen exceeds qhimark\nand continues to grow, we should send a resched IPI, and then do it again\nafter we gone through a quiescent state.\n\nOn the other hand, if it was already sent, we don\u0027t need to do it again\nwhen another CPU detects overflow of the queue.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6c2cca6eef9cc4a15350bf1c61839e12e08b84",
      "tree": "47c59830f653cb20716bd24fa5272963cceaa68f",
      "parents": [
        "11a147013e39ff4cb031395cb78a9d307c4799cd"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: add sched torture type to rcutorture\n\nImplement torture testing for the \"sched\" variant of RCU, which uses\npreempt_disable, preempt_enable, and synchronize_sched.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "11a147013e39ff4cb031395cb78a9d307c4799cd",
      "tree": "bbacc6c3cb3cc53e6f92da1bd6632f37a056dfeb",
      "parents": [
        "20d2e4283a97665a3db78c60dfa342a0c7c1b180"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: add rcu_bh_sync torture type to rcutorture\n\nUse the newly-generic synchronous deferred free function to implement torture\ntesting for rcu_bh using synchronize_rcu_bh rather than the asynchronous\ncall_rcu_bh.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20d2e4283a97665a3db78c60dfa342a0c7c1b180",
      "tree": "25bb664ab495fe4afcf9b2f85e438a437af0f85c",
      "parents": [
        "e3033736581f125ba5fd6c0760e0d430d54fb5c0"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: add rcu_sync torture type to rcutorture\n\nUse the newly-generic synchronous deferred free function to implement torture\ntesting for RCU using synchronize_rcu rather than the asynchronous call_rcu.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e3033736581f125ba5fd6c0760e0d430d54fb5c0",
      "tree": "f3158a2c544b79700dad5fb9fe8d09b134629faa",
      "parents": [
        "b772e1dd4b1e60a7a160f7bd4ea08e28394ceb54"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: refactor srcu_torture_deferred_free to work for any implementation\n\nMake srcu_torture_deferred_free use cur_ops-\u003esync() so it will work for any\nimplementation.  Move and rename it in preparation for use in the ops of other\nimplementations.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b772e1dd4b1e60a7a160f7bd4ea08e28394ceb54",
      "tree": "b462e17329ba1730178d35cccd1ce5cb928cc101",
      "parents": [
        "75cfef32f26d03f5d0a0833572d52f94ad858a36"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] RCU: add fake writers to rcutorture\n\nrcutorture currently has one writer and an arbitrary number of readers.  To\nbetter exercise some of the code paths in RCU implementations, add fake\nwriter threads which call the synchronize function for the RCU variant in a\nloop, with a delay between calls to arrange for different numbers of\nwriters running in parallel.\n\n[bunk@stusta.de: cleanup]\nAcked-by: Paul McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Dipkanar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\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": "75cfef32f26d03f5d0a0833572d52f94ad858a36",
      "tree": "2440ee021888c4d743cf403a75d859060127479b",
      "parents": [
        "2860aaba4dc87fa43c08724434b87a8650f3bff5"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:31 2006 -0700"
      },
      "message": "[PATCH] rcu: Fix sign bug making rcu_random always return the same sequence\n\nrcu_random uses a counter rrs_count to occasionally mix data from\nget_random_bytes into the state of its pseudorandom generator.  However,\nthe rrs_counter gets declared as an unsigned long, and rcu_random checks\nfor --rrs_count \u003c 0, so this code will never mix any real random data into\nthe state, and will thus always return the same sequence of random numbers.\n\nAlso, change the return value of rcu_random from long to unsigned long, to\navoid potential issues caused by the use of the % operator, which can\nreturn negative values for negative left operands.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2860aaba4dc87fa43c08724434b87a8650f3bff5",
      "tree": "5c9a4ec9c571352174cbe4fd8d7eb125f53e0c30",
      "parents": [
        "3c29e03d9121e07714fb9e5303d9b026800ffd5a"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] rcu: Avoid kthread_stop on invalid pointer if rcutorture reader startup fails\n\nrcu_torture_init kmallocs the array of reader threads, then creates each\none with kthread_run, cleaning up with rcu_torture_cleanup if this fails.\nrcu_torture_cleanup calls kthread_stop on any non-NULL pointer in the\narray; however, any readers after the one that failed to start up will have\ninvalid pointers, not null pointers.  Avoid this by using kzalloc instead.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c29e03d9121e07714fb9e5303d9b026800ffd5a",
      "tree": "f5b5b96b5446b0933c240e4c4f9c44738e5f571b",
      "parents": [
        "ff2c93a5373f12f86f3281705d11278a9f2334e2"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] rcu: Mention rcu_bh in description of rcutorture\u0027s torture_type parameter\n\nThe comment for rcutorture\u0027s torture_type parameter only lists the RCU\nvariants rcu and srcu, but not rcu_bh; add rcu_bh to the list.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff2c93a5373f12f86f3281705d11278a9f2334e2",
      "tree": "ed7b4c63f2d0bfc63884984eb6ccd7a0e722c7a7",
      "parents": [
        "b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Wed Oct 04 02:17:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] rcu: Add MODULE_AUTHOR to rcutorture module\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9",
      "tree": "20558266428cb904c4ffc660647cfdb7e7abeae5",
      "parents": [
        "e6a92013ba458804161c0c5b6d134d82204dc233"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] cpufreq: make the transition_notifier chain use SRCU\n\nThis patch (as762) changes the cpufreq_transition_notifier_list from a\nblocking_notifier_head to an srcu_notifier_head.  This will prevent errors\ncaused attempting to call down_read() to access the notifier chain at a\ntime when interrupts must remain disabled, during system suspend.\n\nIt\u0027s not clear to me whether this is really necessary; perhaps the chain\ncould be made into an atomic_notifier.  However a couple of the callout\nroutines do use blocking operations, so this approach seems safer.\n\nThe head of the notifier chain needs to be initialized before use; this is\ndone by an __init routine at core_initcall time.  If this turns out not to\nbe a good choice, it can easily be changed.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nCc: Jesse Brandeburg \u003cjesse.brandeburg@gmail.com\u003e\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": "e6a92013ba458804161c0c5b6d134d82204dc233",
      "tree": "ecee5fdcef80d1dba0ac6ea87370931ea39ffecd",
      "parents": [
        "eabc069401bcf45bcc3f19e643017bf761780aa8"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] SRCU: report out-of-memory errors\n\nCurrently the init_srcu_struct() routine has no way to report out-of-memory\nerrors.  This patch (as761) makes it return -ENOMEM when the per-cpu data\nallocation fails.\n\nThe patch also makes srcu_init_notifier_head() report a BUG if a notifier\nhead can\u0027t be initialized.  Perhaps it should return -ENOMEM instead, but\nin the most likely cases where this might occur I don\u0027t think any recovery\nis possible.  Notifier chains generally are not created dynamically.\n\n[akpm@osdl.org: avoid statement-with-side-effect in macro]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eabc069401bcf45bcc3f19e643017bf761780aa8",
      "tree": "1175b8bed2d88cc9f437edbc239d7681f13b8a7d",
      "parents": [
        "b2896d2e75c87ea6a842c088db730b03c91db737"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Wed Oct 04 02:17:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] Add SRCU-based notifier chains\n\nThis patch (as751) adds a new type of notifier chain, based on the SRCU\n(Sleepable Read-Copy Update) primitives recently added to the kernel.  An\nSRCU notifier chain is much like a blocking notifier chain, in that it must\nbe called in process context and its callout routines are allowed to sleep.\n The difference is that the chain\u0027s links are protected by the SRCU\nmechanism rather than by an rw-semaphore, so calling the chain has\nextremely low overhead: no memory barriers and no cache-line bouncing.  On\nthe other hand, unregistering from the chain is expensive and the chain\nhead requires special runtime initialization (plus cleanup if it is to be\ndeallocated).\n\nSRCU notifiers are appropriate for notifiers that will be called very\nfrequently and for which unregistration occurs very seldom.  The proposed\n\"task notifier\" scheme qualifies, as may some of the network notifiers.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nAcked-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b2896d2e75c87ea6a842c088db730b03c91db737",
      "tree": "69411d92f0ba99d3888c6fe8c817708e9a47eb67",
      "parents": [
        "621934ee7ed5b073c7fd638b347e632c53572761"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Wed Oct 04 02:17:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] srcu-3: add SRCU operations to rcutorture\n\nAdds SRCU operations to rcutorture and updates rcutorture documentation.\nAlso increases the stress imposed by the rcutorture test.\n\n[bunk@stusta.de: make needlessly global code static]\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@us.ibm.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": "621934ee7ed5b073c7fd638b347e632c53572761",
      "tree": "5722f9cda22c099ad60545f963410dcbc762ee65",
      "parents": [
        "95d77884c77beed676036d2f74d10b470a483c63"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Wed Oct 04 02:17:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] srcu-3: RCU variant permitting read-side blocking\n\nUpdated patch adding a variant of RCU that permits sleeping in read-side\ncritical sections.  SRCU is as follows:\n\no\tEach use of SRCU creates its own srcu_struct, and each\n\tsrcu_struct has its own set of grace periods.  This is\n\tcritical, as it prevents one subsystem with a blocking\n\treader from holding up SRCU grace periods for other\n\tsubsystems.\n\no\tThe SRCU primitives (srcu_read_lock(), srcu_read_unlock(),\n\tand synchronize_srcu()) all take a pointer to a srcu_struct.\n\no\tThe SRCU primitives must be called from process context.\n\no\tsrcu_read_lock() returns an int that must be passed to\n\tthe matching srcu_read_unlock().  Realtime RCU avoids the\n\tneed for this by storing the state in the task struct,\n\tbut SRCU needs to allow a given code path to pass through\n\tmultiple SRCU domains -- storing state in the task struct\n\twould therefore require either arbitrary space in the\n\ttask struct or arbitrary limits on SRCU nesting.  So I\n\tkicked the state-storage problem up to the caller.\n\n\tOf course, it is not permitted to call synchronize_srcu()\n\twhile in an SRCU read-side critical section.\n\no\tThere is no call_srcu().  It would not be hard to implement\n\tone, but it seems like too easy a way to OOM the system.\n\t(Hey, we have enough trouble with call_rcu(), which does\n\t-not- permit readers to sleep!!!)  So, if you want it,\n\tplease tell me why...\n\n[josht@us.ibm.com: sparse notation]\nSigned-off-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "95d77884c77beed676036d2f74d10b470a483c63",
      "tree": "7897bc159d0d8ac972abc76e01d6e54c2bca3c84",
      "parents": [
        "03571e11c4a6d08230657f80970f0a5cc7820471"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:17:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:30 2006 -0700"
      },
      "message": "[PATCH] htirq: tidy up the htirq code\n\nThis moves the declarations for the architecture helpers into\ninclude/linux/htirq.h from the generic include/linux/pci.h.  Hopefully this\nwill make this distinction clearer.\n\nhtirq.h is included where it is needed.\n\nThe dependency on the msi code is fixed and removed.\n\nThe Makefile is tidied up.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "03571e11c4a6d08230657f80970f0a5cc7820471",
      "tree": "1ee056fff8d00a49f51116932bedf38ea592d038",
      "parents": [
        "3b7d1921f4cdd6d6ddb7899ae7a8d413991c5cf4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:17:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: move the ia64 code into arch/ia64\n\nThis is just a few makefile tweaks and some file renames.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "3b7d1921f4cdd6d6ddb7899ae7a8d413991c5cf4",
      "tree": "5f809e0c4310f60dfa6f65d54fbaf9f01e2ebff9",
      "parents": [
        "277bc33bc2479707e88b0b2ae6fe56e8e4aabe81"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: refactor and move the msi irq_chip into the arch code\n\nIt turns out msi_ops was simply not enough to abstract the architecture\nspecific details of msi.  So I have moved the resposibility of constructing\nthe struct irq_chip to the architectures, and have two architecture specific\nfunctions arch_setup_msi_irq, and arch_teardown_msi_irq.\n\nFor simple architectures those functions can do all of the work.  For\narchitectures with platform dependencies they can call into the appropriate\nplatform code.\n\nWith this msi.c is finally free of assuming you have an apic, and this\nactually takes less code.\n\nThe helpers for the architecture specific code are declared in the linux/msi.h\nto keep them separate from the msi functions used by drivers in linux/pci.h\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "277bc33bc2479707e88b0b2ae6fe56e8e4aabe81",
      "tree": "2b7ca3715612d656ed6eab51d7a9504a80cfec4f",
      "parents": [
        "1f80025e624bb14fefadfef7e80fbfb9740d4714"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: only use a single irq_chip for msi interrupts\n\nThe logic works like this.\n\nSince we no longer track the state logic by hand in msi.c startup and shutdown\nare no longer needed.\n\nBy updating msi_set_mask_bit to work on msi devices that do not implement a\nmask bit we can always call the mask/unmask functions.\n\nWhat we really have are mask and unmask so we use them to implement the .mask\nand .unmask functions instead of .enable and .disable.\n\nBy switching to the handle_edge_irq handler we only need an ack function that\nmoves the irq if necessary.  Which removes the old end and ack functions and\ntheir peculiar logic of sometimes disabling an irq.\n\nThis removes the reliance on pre genirq irq handling methods.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "1f80025e624bb14fefadfef7e80fbfb9740d4714",
      "tree": "1d6f18ebd2855e882213922036d8df8cd7e88db4",
      "parents": [
        "8b955b0dddb35e398b07e217a81f8bd49400796f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: simplify msi sanity checks by adding with generic irq code\n\nCurrently msi.c is doing sanity checks that make certain before an irq is\ndestroyed it has no more users.\n\nBy adding irq_has_action I can perform the test is a generic way, instead of\nrelying on a msi specific data structure.\n\nBy performing the core check in dynamic_irq_cleanup I ensure every user of\ndynamic irqs has a test present and we don\u0027t free resources that are in use.\n\nIn msi.c this allows me to kill the attrib.state member of msi_desc and all of\nthe assciated code to maintain it.\n\nTo keep from freeing data structures when irq cleanup code is called to soon\nchanging dyanamic_irq_cleanup is insufficient because there are msi specific\ndata structures that are also not safe to free.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "8b955b0dddb35e398b07e217a81f8bd49400796f",
      "tree": "6fc307371b6889ac08fa5a7187cde1c137c8d765",
      "parents": [
        "e78d01693be38bf93dd6bb49b86e143da450de86"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] Initial generic hypertransport interrupt support\n\nThis patch implements two functions ht_create_irq and ht_destroy_irq for\nuse by drivers.  Several other functions are implemented as helpers for\narch specific irq_chip handlers.\n\nThe driver for the card I tested this on isn\u0027t yet ready to be merged.\nHowever this code is and hypertransport irqs are in use in a few other\nplaces in the kernel.  Not that any of this will get merged before 2.6.19\n\nBecause the ipath-ht400 is slightly out of spec this code will need to be\ngeneralized to work there.\n\nI think all of the powerpc uses are for a plain interrupt controller in a\nchipset so support for native hypertransport devices is a little less\ninteresting.\n\nHowever I think this is a half way decent model on how to separate arch\nspecific and generic helper code, and I think this is a functional model of\nhow to get the architecture dependencies out of the msi code.\n\n[akpm@osdl.org: Kconfig fix]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Andi Kleen \u003cak@muc.de\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": "e78d01693be38bf93dd6bb49b86e143da450de86",
      "tree": "95fb24b9ffad0d0441118e8ea072a6af64348006",
      "parents": [
        "cd1182f56a064d42d10e289ef4018f9c2230247d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] Add Hypertransport capability defines\n\nThis adds defines for the hypertransport capability subtypes and starts\nusing them a little.\n\n[akpm@osdl.org: fix typo]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cd1182f56a064d42d10e289ef4018f9c2230247d",
      "tree": "9412734daf8cc98cf94447815ec99655dd2a77fe",
      "parents": [
        "f023d764cc6165eb4f1cad6b2b0882ce0660764a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Kill irq compression\n\nWith more irqs in the system we don\u0027t need this.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "f023d764cc6165eb4f1cad6b2b0882ce0660764a",
      "tree": "6c905ec403aac146b21b12c5f89876d7faced6ce",
      "parents": [
        "550f2299ac8ffaba943cf211380d3a8d3fa75301"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Kill gsi_irq_sharing\n\nAfter raising the number of irqs the system supports this function is no\nlonger necessary.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "550f2299ac8ffaba943cf211380d3a8d3fa75301",
      "tree": "9a8cb7b0d62f48f581f66ab4951aa6c9793131c0",
      "parents": [
        "e500f57436b9056a245216c53113613928155eba"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: make vector_irq per cpu\n\nThis refactors the irq handling code to make the vectors a per cpu resource so\nthe same vector number can be simultaneously used on multiple cpus for\ndifferent irqs.\n\nThis should make systems that were hitting limits on the total number of irqs\nmuch more livable.\n\n[akpm@osdl.org: build fix]\n[akpm@osdl.org: __target_IO_APIC_irq is unneeded on UP]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "e500f57436b9056a245216c53113613928155eba",
      "tree": "2b93aae3dfbe82fd5387ec7e0cb5945951655d07",
      "parents": [
        "23d0b8b053391afe15c9667d80de77ca88e18b8b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Make the external irq handlers report their vector, not the irq number\n\nThis is a small pessimization but it paves the way for making this information\nper cpu.  Which allows the the maximum number of IRQS to become NR_CPUS*224.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "23d0b8b053391afe15c9667d80de77ca88e18b8b",
      "tree": "8ee6dd027581f794bcbffaa9022a3635ba59b04a",
      "parents": [
        "323a01c50832749d23664954f91df6fc43e73975"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: generalize the check for HARDIRQ_BITS\n\nThis patch adds support for systems that cannot receive every interrupt on a\nsingle cpu simultaneously, in the check to see if we have enough HARDIRQ_BITS.\n\nMAX_HARDIRQS_PER_CPU becomes the count of the maximum number of hardare\ngenerated interrupts per cpu.\n\nOn architectures that support per cpu interrupt delivery this can be a\nsignificant space savings and scalability bonus.\n\nThis patch adds support for systems that cannot receive every interrupt on\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "323a01c50832749d23664954f91df6fc43e73975",
      "tree": "da7ddc721a28c127b1e9bd7f3f629f3e0f1ab872",
      "parents": [
        "ace80ab796ae30d2c9ee8a84ab6f608a61f8b87b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: remove msi hacks\n\nBecause of the nasty way that CONFIG_PCI_MSI was implemented we wound up with\nset_irq_info and set_native_irq_info, with move_irq and move_native_irq.  Both\nfunctions did the same thing but they were built and called under different\ncircumstances.  Now that the msi hacks are gone we can kill move_irq and\nset_irq_info.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "ace80ab796ae30d2c9ee8a84ab6f608a61f8b87b",
      "tree": "05eb2c68e534af4982ad82c459b1a65e3e712faf",
      "parents": [
        "04b9267b15206fc902a18de1f78de6c82ca47716"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: i386 irq: Remove the msi assumption that irq \u003d\u003d vector\n\nThis patch removes the change in behavior of the irq allocation code when\nCONFIG_PCI_MSI is defined.  Removing all instances of the assumption that irq\n\u003d\u003d vector.\n\ncreate_irq is rewritten to first allocate a free irq and then to assign that\nirq a vector.\n\nassign_irq_vector is made static and the AUTO_ASSIGN case which allocates an\nvector not bound to an irq is removed.\n\nThe ioapic vector methods are removed, and everything now works with irqs.\n\nThe definition of NR_IRQS no longer depends on CONFIG_PCI_MSI\n\n[akpm@osdl.org: cleanup]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "04b9267b15206fc902a18de1f78de6c82ca47716",
      "tree": "02cd5fdc44f3ec188af41ec7188d8239badf24c3",
      "parents": [
        "4b2fabb9ec9b3b1cf5cf848a678058fb20c4d552"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Remove the msi assumption that irq \u003d\u003d vector\n\nThis patch removes the change in behavior of the irq allocation code when\nCONFIG_PCI_MSI is defined.  Removing all instances of the assumption that irq\n\u003d\u003d vector.\n\ncreate_irq is rewritten to first allocate a free irq and then to assign that\nirq a vector.\n\nassign_irq_vector is made static and the AUTO_ASSIGN case which allocates an\nvector not bound to an irq is removed.\n\nThe ioapic vector methods are removed, and everything now works with irqs.\n\nThe definition of NR_IRQS no longer depends on CONFIG_PCI_MSI\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "4b2fabb9ec9b3b1cf5cf848a678058fb20c4d552",
      "tree": "82f592cde095d4cc0910db657ffd9eace0ea90d2",
      "parents": [
        "2d3fcc1c54df2f49674e1f7c99d4800ed1d51902"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: only build msi-apic.c on ia64\n\nAfter the previous changes ia64 is the only architecture useing msi-apic.c\n\n[akpm@osdl.org: unbreak MSI on ia64]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "2d3fcc1c54df2f49674e1f7c99d4800ed1d51902",
      "tree": "7cf478bc419f8f0c17be929b5ffdac6fc4236b70",
      "parents": [
        "589e367f9b9117b3412da0d4e10ea6882db8da84"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: i386 irq: Move msi message composition into io_apic.c\n\nThis removes the hardcoded assumption that irq \u003d\u003d vector in the msi\ncomposition code, and it allows the msi message composition to setup logical\nmode, or lowest priorirty delivery mode as we do for other apic interrupts,\nand with the same selection criteria.\n\nBasically this moves the problem of what is in the msi message into the\narchitecture irq management code where it belongs.  Not in a generic layer\nthat doesn\u0027t have enough information to compose msi messages properly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "589e367f9b9117b3412da0d4e10ea6882db8da84",
      "tree": "3ad393830c94a146553b459468f0f3a72702b4d6",
      "parents": [
        "1ce03373a7f4b5fa8ca5be02ff35229800a6e12b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Move msi message composition into io_apic.c\n\nThis removes the hardcoded assumption that irq \u003d\u003d vector in the msi\ncomposition code, and it allows the msi message composition to setup logical\nmode, or lowest priorirty delivery mode as we do for other apic interrupts,\nand with the same selection criteria.\n\nBasically this moves the problem of what is in the msi message into the\narchitecture irq management code where it belongs.  Not in a generic layer\nthat doesn\u0027t have enough information to compose msi messages properly.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "1ce03373a7f4b5fa8ca5be02ff35229800a6e12b",
      "tree": "918fd844d371ec0fd9d19ac16a7798e361cb5583",
      "parents": [
        "c4fa0bbf384496ae4acc0a150719d9d8fa8d11b3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: make the msi code irq based and not vector based\n\nThe msi currently allocates irqs backwards.  First it allocates a platform\ndependent routing value for an interrupt the ``vector\u0027\u0027 and then it figures\nout from the vector which irq you are on.\n\nFor ia64 this is fine.  For x86 and x86_64 this is complete nonsense and makes\nan enourmous mess of the irq handling code and prevents some pretty\nsignificant cleanups in the code for handling large numbers of irqs.\n\nThis patch refactors msi.c to work in terms of irqs and create_irq/destroy_irq\nfor dynamically managing irqs.\n\nHopefully this is finally a version of msi.c that is useful on more than just\nx86 derivatives.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "c4fa0bbf384496ae4acc0a150719d9d8fa8d11b3",
      "tree": "cbca26057c0f0de9df559bb825820c3a92cb83b9",
      "parents": [
        "3fc471ede99579211c44b6a64829c4318976990f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:28 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Dynamic irq support\n\nThe current implementation of create_irq() is a hack but it is the current\nhack that msi.c uses, and unfortunately the ``generic\u0027\u0027 apic msi ops depend on\nthis hack.  Thus we are this hack of assuming irq \u003d\u003d vector until the\ndepencencies in the generic irq code are removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "3fc471ede99579211c44b6a64829c4318976990f",
      "tree": "eb8fb39d32cebae5ac955e40ba1fd09e4c52ed85",
      "parents": [
        "b6cf2583ba026ca563ff8b15805fcf30b8e192a7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:39 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: i386 irq: Dynamic irq support\n\nThe current implementation of create_irq() is a hack but it is the current\nhack that msi.c uses, and unfortunately the ``generic\u0027\u0027 apic msi ops depend on\nthis hack.  Thus we are stuck this hack of assuming irq \u003d\u003d vector until the\ndepencencies in the generic msi code are removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "b6cf2583ba026ca563ff8b15805fcf30b8e192a7",
      "tree": "4f8af6c2cd0ce3ac22ee0a918177e3fd20dcf80a",
      "parents": [
        "3a16d713626735f3016da0521b7bf251cd78e836"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:38 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: ia64 irq: Dynamic irq support\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "3a16d713626735f3016da0521b7bf251cd78e836",
      "tree": "39147d40b681391a578b19fceb50dfe5a7a4a1ab",
      "parents": [
        "92db6d10bc1bc43330a4c540fa5b64c83d9d865f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add a dynamic irq creation API\n\nWith the msi support comes a new concept in irq handling, irqs that are\ncreated dynamically at run time.\n\nCurrently the msi code allocates irqs backwards.  First it allocates a\nplatform dependent routing value for an interrupt the ``vector\u0027\u0027 and then it\nfigures out from the vector which irq you are on.\n\nThis msi backwards allocator suffers from two basic problems.  The allocator\nsuffers because it is trying to do something that is architecture specific in\na generic way making it brittle, inflexible, and tied to tightly to the\narchitecture implementation.  The alloctor also suffers from it\u0027s very\nbackwards nature as it has tied things together that should have no\ndependencies.\n\nTo solve the basic dynamic irq allocation problem two new architecture\nspecific functions are added: create_irq and destroy_irq.\n\ncreate_irq takes no input and returns an unused irq number, that won\u0027t be\nreused until it is returned to the free poll with destroy_irq.  The irq then\ncan be used for any purpose although the only initial consumer is the msi\ncode.\n\ndestroy_irq takes an irq number allocated with create_irq and returns it to\nthe free pool.\n\nMaking this functionality per architecture increases the simplicity of the irq\nallocation code and increases it\u0027s flexibility.\n\ndynamic_irq_init() and dynamic_irq_cleanup() are added to automate the\nirq_desc initializtion that should happen for dynamic irqs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "92db6d10bc1bc43330a4c540fa5b64c83d9d865f",
      "tree": "d889ea4ba6d2e55a33d89f05d2b2222bed7788e7",
      "parents": [
        "38bc0361303535c86f6b67b151a541728d7bdae6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: simplify the msi irq limit policy\n\nCurrently we attempt to predict how many irqs we will be able to allocate with\nmsi using pci_vector_resources and some complicated accounting, and then we\nonly allow each device as many irqs as we think are available on average.\n\nOnly the s2io driver even takes advantage of this feature all other drivers\nhave a fixed number of irqs they need and bail if they can\u0027t get them.\n\npci_vector_resources is inaccurate if anyone ever frees an irq.  The whole\nimplmentation is racy.  The current irq limit policy does not appear to make\nsense with current drivers.  So I have simplified things.  We can revisit this\nwe we need a more sophisticated policy.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "38bc0361303535c86f6b67b151a541728d7bdae6",
      "tree": "6a3939b1f7aea3b00fc4ecd72646fd8442c95766",
      "parents": [
        "0366f8f7137deb072991e4c50769c6da31f8940c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: refactor the msi_ops\n\nThe current msi_ops are short sighted in a number of ways, this patch attempts\nto fix the glaring deficiences.\n\n- Report in msi_ops if a 64bit address is needed in the msi message, so we\n  can fail 32bit only msi structures.\n\n- Send and receive a full struct msi_msg in both setup and target.  This is\n  a little cleaner and allows for architectures that need to modify the data\n  to retarget the msi interrupt to a different cpu.\n\n- In target pass in the full cpu mask instead of just the first cpu in case\n  we can make use of the full cpu mask.\n\n- Operate in terms of irqs and not vectors, currently there is still a 1-1\n  relationship but on architectures other than ia64 I expect this will change.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "0366f8f7137deb072991e4c50769c6da31f8940c",
      "tree": "11cb801b0fe9bc1742f1c47716a7d815b9d98dee",
      "parents": [
        "dd159eeca971d594fa30176733b66d37acda82a3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: implement helper functions read_msi_msg and write_msi_msg\n\nIn support of this I also add a struct msi_msg that captures the the two\naddress and one data field ina typical msi message, and I remember the pos and\nif the address is 64bit in struct msi_desc.\n\nThis makes the code a little more readable and easier to maintain, and paves\nthe way to further simplfications.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "dd159eeca971d594fa30176733b66d37acda82a3",
      "tree": "e972734436cb13a2d8a452779882f001162fe6ae",
      "parents": [
        "7bd007e480672c99d8656c7b7b12ef0549432c37"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: make the msi boolean tests return either 0 or 1\n\nThis allows the output of the msi tests to be stored directly in a bit field.\nIf you don\u0027t do this a value greater than one will be truncated and become 0.\nChanging true to false with bizare consequences.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "7bd007e480672c99d8656c7b7b12ef0549432c37",
      "tree": "bd8ab1fa9914532b075c7f026e209d2a03a6b050",
      "parents": [
        "0be6652f1e61b647f738eb25af057bf9551a9841"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: msi: simplify msi enable and disable\n\nThe problem.  Because the disable routines leave the msi interrupts in all\nsorts of half enabled states the enable routines become impossible to\nimplement correctly, and almost impossible to understand.\n\nSimplifing this allows me to simply kill the buggy reroute_msix_table, and\ngenerally makes the code more maintainable.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0be6652f1e61b647f738eb25af057bf9551a9841",
      "tree": "369f9cda9b30edc9bc170d19e928f00888d15518",
      "parents": [
        "e7b946e98a456077dd6897f726f3d6197bd7e3b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: x86_64 irq: Reenable migrating irqs to other cpus\n\nIn the latest changes the code for migrating x86_64 irqs was dropped.  This\nreads it in a fashion that will work even if we change the vector on level\ntriggered irqs when we migrate them.\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "e7b946e98a456077dd6897f726f3d6197bd7e3b9",
      "tree": "bb76eb06edcef981540774d638a1bd7eaef690ee",
      "parents": [
        "a24ceab4f44f21749aa0b6bd38bee37c775e036f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add moved_masked_irq\n\nCurrently move_native_irq disables and renables the irq we are migrating to\nensure we don\u0027t take that irq when we are actually doing the migration\noperation.  Disabling the irq needs to happen but sometimes doing the work is\nmove_native_irq is too late.\n\nOn x86 with ioapics the irq move sequences needs to be:\nedge_triggered:\n  mask irq.\n  move irq.\n  unmask irq.\n  ack irq.\nlevel_triggered:\n  mask irq.\n  ack irq.\n  move irq.\n  unmask irq.\n\nWe can easily perform the edge triggered sequence, with the current defintion\nof move_native_irq.  However the level triggered case does not map well.  For\nthat I have added move_masked_irq, to allow me to disable the irqs around both\nthe ack and the move.\n\nQ: Why have we not seen this problem earlier?\n\nA: The only symptom I have been able to reproduce is that if we change\n   the vector before acknowleding an irq the wrong irq is acknowledged.\n   Since we currently are not reprogramming the irq vector during\n   migration no problems show up.\n\n   We have to mask the irq before we acknowledge the irq or else we could\n   hit a window where an irq is asserted just before we acknowledge it.\n\n   Edge triggered irqs do not have this problem because acknowledgements\n   do not propogate in the same way.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "a24ceab4f44f21749aa0b6bd38bee37c775e036f",
      "tree": "d33625ff3b5f7a7b9b90a6e0e765ad19bfd00195",
      "parents": [
        "f5b9ed7acdcfea4bf73a70dececa7483787503ed"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:27 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:26 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: convert the move_irq flag from a 32bit word to a single bit\n\nThe primary aim of this patchset is to remove maintenances problems caused by\nthe irq infrastructure.  The two big issues I address are an artificially\nsmall cap on the number of irqs, and that MSI assumes vector \u003d\u003d irq.  My\nprimary focus is on x86_64 but I have touched other architectures where\nnecessary to keep them from breaking.\n\n- To increase the number of irqs I modify the code to look at the (cpu,\n  vector) pair instead of just looking at the vector.\n\n  With a large number of irqs available systems with a large irq count no\n  longer need to compress their irq numbers to fit.  Removing a lot of brittle\n  special cases.\n\n  For acpi guys the result is that irq \u003d\u003d gsi.\n\n- Addressing the fact that MSI assumes irq \u003d\u003d vector takes a few more\n  patches.  But suffice it to say when I am done none of the generic irq code\n  even knows what a vector is.\n\nIn quick testing on a large Unisys x86_64 machine we stumbled over at least\none driver that assumed that NR_IRQS could always fit into an 8 bit number.\nThis driver is clearly buggy today.  But this has become a class of bugs that\nit is now much easier to hit.\n\nThis patch:\n\nThis is a minor space optimization.  In practice I don\u0027t think this has any\naffect because of our alignment constraints and the other fields but there is\nnot point in chewing up an uncessary word and since we already read the flag\nfield this should improve the cache hit ratio of the irq handler.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\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": "f5b9ed7acdcfea4bf73a70dececa7483787503ed",
      "tree": "d2d1510d8a4dd8a5a00310dd07ab791c2ab0612f",
      "parents": [
        "f29bd1ba68c8c6a0f50bd678bbd5a26674018f7c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 04 02:16:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:25 2006 -0700"
      },
      "message": "[PATCH] genirq: convert the i386 architecture to irq-chips\n\nThis patch converts all the i386 PIC controllers (except VisWS and Voyager,\nwhich I could not test - but which should still work as old-style IRQ layers)\nto the new and simpler irq-chip interrupt handling layer.\n\n[akpm@osdl.org: build fix]\n[mingo@elte.hu: enable fasteoi handler for i386 level-triggered IO-APIC irqs]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f29bd1ba68c8c6a0f50bd678bbd5a26674018f7c",
      "tree": "5a2f6086397b94e9094fa065a344bcb7e6a05ac0",
      "parents": [
        "0271eb947db2704a0ff8be68d72915ab021d1ead"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Oct 04 02:16:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:25 2006 -0700"
      },
      "message": "[PATCH] genirq: convert the x86_64 architecture to irq-chips\n\nThis patch converts all the x86_64 PIC controllers layers to the new and\nsimpler irq-chip interrupt handling layer.\n\n[mingo@elte.hu: The patch also enables the fasteoi handler for x86_64]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: 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": "0271eb947db2704a0ff8be68d72915ab021d1ead",
      "tree": "5fe268cd25a9541b9d71470c07cda062ef27c1c1",
      "parents": [
        "237fead619984cc48818fe12ee0ceada3f55b012"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Wed Oct 04 02:16:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:24 2006 -0700"
      },
      "message": "[PATCH] fbdev: riva warning fix\n\ndrivers/video/riva/fbdev.c: In function `riva_get_EDID_OF\u0027:\ndrivers/video/riva/fbdev.c:1846: warning: assignment discards qualifiers from pointer target type\n\nThis code is being bad: copying a pointer to read-only OF data into a\nnon-const pointer.\n\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \"Antonino A. 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": "237fead619984cc48818fe12ee0ceada3f55b012",
      "tree": "40c6cacf2331191139e847988882b168d111c12e",
      "parents": [
        "f7aa2638f288f4c67acdb55947472740bd27d27a"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Oct 04 02:16:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:24 2006 -0700"
      },
      "message": "[PATCH] ecryptfs: fs/Makefile and fs/Kconfig\n\neCryptfs is a stacked cryptographic filesystem for Linux.  It is derived from\nErez Zadok\u0027s Cryptfs, implemented through the FiST framework for generating\nstacked filesystems.  eCryptfs extends Cryptfs to provide advanced key\nmanagement and policy features.  eCryptfs stores cryptographic metadata in the\nheader of each file written, so that encrypted files can be copied between\nhosts; the file will be decryptable with the proper key, and there is no need\nto keep track of any additional information aside from what is already in the\nencrypted file itself.\n\n[akpm@osdl.org: updates for ongoing API changes]\n[bunk@stusta.de: cleanups]\n[akpm@osdl.org: alpha build fix]\n[akpm@osdl.org: cleanups]\n[tytso@mit.edu: inode-diet updates]\n[pbadari@us.ibm.com: generic_file_*_read/write() interface updates]\n[rdunlap@xenotime.net: printk format fixes]\n[akpm@osdl.org: make slab creation and teardown table-driven]\nSigned-off-by: Phillip Hellewell \u003cphillip@hellewell.homeip.net\u003e\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Stephan Mueller \u003csmueller@chronox.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f7aa2638f288f4c67acdb55947472740bd27d27a",
      "tree": "3710565111a49ac65a190268dd7c0eaab301b478",
      "parents": [
        "42ca09938157105c1f573c831a35e9c3e02eb354"
      ],
      "author": {
        "name": "Cedric Le Goater",
        "email": "clg@fr.ibm.com",
        "time": "Wed Oct 04 02:16:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:24 2006 -0700"
      },
      "message": "[PATCH] Fix linux/nfsd/const.h for make headers_check\n\nmake headers_check fails on linux/nfsd/const.h.\n\nSince linux/sunrpc/msg_prot.h does not seem to export anything interesting\nfor userspace, this patch moves it in the __KERNEL__ protected section.\n\nSigned-off-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42ca09938157105c1f573c831a35e9c3e02eb354",
      "tree": "61533863e1adb46016015a347c70517ae9b10d3f",
      "parents": [
        "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:20 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: actually use all the pieces to implement referrals\n\nUse all the pieces set up so far to implement referral support, allowing\nreturn of NFS4ERR_MOVED and fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81c3f4130202a1dcb2b28ab56684eb5e9d43d8c1",
      "tree": "66f473d1a2bd63c60af47613c5ddb41339f18e07",
      "parents": [
        "933469190ed5915b0568bc564346bb8db718f460"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:23 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: xdr encoding for fs_locations\n\nEncode fs_locations attribute.\n\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "933469190ed5915b0568bc564346bb8db718f460",
      "tree": "fdb811ebfb962b0dc5e9b567ef13df234d49918a",
      "parents": [
        "b009a873de05c6e0d7613df3584b6dcb2e4280ee"
      ],
      "author": {
        "name": "Manoj Naik",
        "email": "manoj@almaden.ibm.com",
        "time": "Wed Oct 04 02:16:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:22 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: fslocations data structures\n\nDefine FS locations structures, some functions to manipulate them, and add\ncode to parse FS locations in downcall and add to the exports structure.\n\n[bfields@fieldses.org: bunch of fixes and cleanups]\nSigned-off-by: Manoj Naik \u003cmanoj@almaden.ibm.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b009a873de05c6e0d7613df3584b6dcb2e4280ee",
      "tree": "a79bc4a82ca4bf8f3564fd024ffd0eedcdddab34",
      "parents": [
        "21c0d8fdd95024ffa708a938099148b8f1078d46"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:22 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd: store export path in export\n\nStore the export path in the svc_export structure instead of storing only the\ndentry.  This will prevent the need for additional d_path calls to provide\nNFSv4 fs_locations support.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "21c0d8fdd95024ffa708a938099148b8f1078d46",
      "tree": "e812554e916f1fb7d9410640235fb7954d2a25b7",
      "parents": [
        "44c556000a31e8079cfbb9a42a7edb93ca6b589a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:16 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:21 2006 -0700"
      },
      "message": "[PATCH] knfsd: close a race-opportunity in d_splice_alias\n\nThere is a possible race in d_splice_alias.  Though __d_find_alias(inode, 1)\nwill only return a dentry with DCACHE_DISCONNECTED set, it is possible for it\nto get cleared before the BUG_ON, and it is is not possible to lock against\nthat.\n\nThere are a couple of problems here.  Firstly, the code doesn\u0027t match the\ncomment.  The comment describes a \u0027disconnected\u0027 dentry as being IS_ROOT as\nwell as DCACHE_DISCONNECTED, however there is not testing of IS_ROOT anythere.\n\nA dentry is marked DCACHE_DISCONNECTED when allocated with d_alloc_anon, and\nremains DCACHE_DISCONNECTED while a path is built up towards the root.  So a\ndentry can have a valid name and a valid parent and even grandparent, but will\nstill be DCACHE_DISCONNECTED until a path to the root is created.  Once the\npath to the root is complete, everything in the path gets DCACHE_DISCONNECTED\ncleared.  So the fact that DCACHE_DISCONNECTED isn\u0027t enough to say that a\ndentry is free to be spliced in with a given name.  This can only be allowed\nif the dentry does not yet have a name, so the IS_ROOT test is needed too.\n\nHowever even adding that test to __d_find_alias isn\u0027t enough.  As\nd_splice_alias drops dcache_lock before calling d_move to perform the splice,\nit could race with another thread calling d_splice_alias to splice the inode\nin with a different name in a different part of the tree (in the case where a\nfile has hard links).  So that splicing code is only really safe for\ndirectories (as we know that directories only have one link).  For\ndirectories, the caller of d_splice_alias will be holding i_mutex on the\n(unique) parent so there is no room for a race.\n\nA consequence of this is that a non-directory will never benefit from being\nspliced into a pre-exisiting dentry, but that isn\u0027t a problem.  It is\nperfectly OK for a non-directory to have multiple dentries, some anonymous,\nsome not.  And the comment for d_splice_alias says that it only happens for\ndirectories anyway.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44c556000a31e8079cfbb9a42a7edb93ca6b589a",
      "tree": "cd4ee059c11fb1e30d9ef09d518715d9b329aa8f",
      "parents": [
        "6b54dae2b0defb30babb0fe87b13463b9f4b2907"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:21 2006 -0700"
      },
      "message": "[PATCH] knfsd: fix auto-sizing of nfsd request/reply buffers\n\ntotalram is measured in pages, not bytes, so PAGE_SHIFT must be used when\ntrying to find 1/4096 of RAM.\n\nCc:  \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b54dae2b0defb30babb0fe87b13463b9f4b2907",
      "tree": "0a9e2d34f4fb089287b6d5b92cb438b30dd66293",
      "parents": [
        "b66285cee3f9abad26cca6c9b848e1ad6b792d94"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: fix refount on nsm\n\nIf nlm_lookup_host finds what it is looking for it exits with an extra\nreference on the matching \u0027nsm\u0027 structure.\n\nSo don\u0027t actually count the reference until we are (fairly) sure it is going\nto be used.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b66285cee3f9abad26cca6c9b848e1ad6b792d94",
      "tree": "504c36192cd4c255b7082b7b68a526a5fe118527",
      "parents": [
        "f3b64eb6efb1ef46f6629b66a429e7f2b5955003"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: acls: fix handling of zero-length acls\n\nIt is legal to have zero-length NFSv4 acls; they just deny everything.\n\nAlso, nfs4_acl_nfsv4_to_posix will always return with pacl and dpacl set on\nsuccess, so the caller doesn\u0027t need to check this.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f3b64eb6efb1ef46f6629b66a429e7f2b5955003",
      "tree": "ac2fa48b848ee63a17d8a6eeed72140bb49e8ff0",
      "parents": [
        "b548edc2dd9440c561f3302cb9f212ef2d06a8ef"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: acls: simplify nfs4_acl_nfsv4_to_posix interface\n\nThere\u0027s no need to handle the case where the caller passes in null for pacl or\ndpacl; no caller does that, because it would be a dumb thing to do.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b548edc2dd9440c561f3302cb9f212ef2d06a8ef",
      "tree": "4e6c2e3c1907747abd294bc1bbfcd6439cbfbd4c",
      "parents": [
        "09229edb68a3961db54174a2725055bd1589b4b8"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: acls: fix inheritance\n\nWe can be a little more flexible about the flags allowed for inheritance (in\nparticular, we can deal with either the presence or the absence of\nINHERIT_ONLY), but we should probably reject other combinations that we don\u0027t\nunderstand.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "09229edb68a3961db54174a2725055bd1589b4b8",
      "tree": "44876575189a69021d961345ef9bc75ddffaac1e",
      "parents": [
        "d0ebd9c0e71d20ea8c2b4a071d2a2b4878ef07d6"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: acls: relax the nfsv4-\u003eposix mapping\n\nUse a different nfsv4-\u003e(draft posix) acl mapping which is\n\t1. completely backwards compatible,\n\t2. accepts any nfsv4 acl, and\n\t3. errs on the side of restricting permissions.\n\nIn detail:\n\n\t1. completely backwards compatible: The new mapping produces the\n\tsame result on any acl produced by the existing (draft\n\tposix)-\u003enfsv4 mapping; the one exception is that we no longer\n\tattempt to guess the value of the mask by assuming certain denies\n\trepresent the mask.  Since the server still keeps track of the mask\n\tlocally, sequences of chmod\u0027s will still be handled fine; the only\n\tthing this will change is sequences of chmod\u0027s with intervening\n\tread-modify-writes of the acl.  That last case just isn\u0027t worth the\n\ttrouble and the possible misrepresentations of the user\u0027s intent\n\t(if we guess that a certain deny indicates masking is in effect\n\twhen it really isn\u0027t).\n\n\t2. accepts any nfsv4 acl: That\u0027s not quite true: we still reject\n\tacls that use combinations of inheritance flags that we don\u0027t\n\tsupport.  We also reject acls that attempt to explicitly deny\n\tread_acl or read_attributes permissions, or that attempt to deny\n\twrite_acl or write_attributes permissions to the owner of the file.\n\n\t3.  errs on the side of restricting permissions: one exception to\n\tthis last rule: we totally ignore some bits (write_owner,\n\tsynchronize, read_named_attributes, etc.) that are completely alien\n\tto our filesystem semantics, in some cases even if that would mean\n\tignoring an explicit deny that we have no intention of enforcing.\n\tExcepting that, the posix acl produced should be the most\n\tpermissive acl that is not more permissive than the given nfsv4\n\tacl.\n\nAnd the new code\u0027s shorter, too.  Neato.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d0ebd9c0e71d20ea8c2b4a071d2a2b4878ef07d6",
      "tree": "703b61a59254506f322894281c35a0b224ae6905",
      "parents": [
        "f38b20c64519bb812a49b9ef4e10d90367a5af5c"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:20 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: clean up exp_pseudoroot\n\nThe previous patch enables some minor simplification here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f38b20c64519bb812a49b9ef4e10d90367a5af5c",
      "tree": "84aae3534f4c1d00e56bac39adab2b8b1d530b91",
      "parents": [
        "8f8e05c5708d7e9017c47f395f8b1498f7f52922"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: nfsd4: refactor exp_pseudoroot\n\nWe could be using more common code in exp_pseudoroot().  This will also\nsimplify some changes we need to make later.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f8e05c5708d7e9017c47f395f8b1498f7f52922",
      "tree": "6972bf60f7d4ae27933af29ffdf694982b121194",
      "parents": [
        "5b304bc5bfccc82b856e876e829c260df8e67ff2"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: use consistent variable name for the reply state\n\nThe rpc reply has multiple levels of error returns.  The code here contributes\nto the confusion by using \"accept_statp\" for a pointer to what the rfc (and\nwireshark, etc.) refer to as the \"reply_stat\".  (The confusion is compounded\nby the fact that the rfc also has an \"accept_stat\" which follows the\nreply_stat in the succesful case.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b304bc5bfccc82b856e876e829c260df8e67ff2",
      "tree": "1ef7b419ff3d0a43ea745b375a8aa8209b59d28e",
      "parents": [
        "3c15a486643a103eaf068e5fb3b7f9d720d579a7"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: gss: fix failure on SVC_DENIED in integrity case\n\nIf the request is denied after gss_accept was called, we shouldn\u0027t try to wrap\nthe reply.  We were checking the accept_stat but not the reply_stat.\n\nTo check the reply_stat in _release, we need a pointer to before (rather than\nafter) the verifier, so modify body_start appropriately.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3c15a486643a103eaf068e5fb3b7f9d720d579a7",
      "tree": "624c59db4b1aa7ac906fc71212a2446df2b8aaca",
      "parents": [
        "89e63ef609fb0064a47281e31e38010159c32d57"
      ],
      "author": {
        "name": "J.Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Wed Oct 04 02:16:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: svcrpc: gss: factor out some common wrapping code\n\nFactor out some common code from the integrity and privacy cases.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89e63ef609fb0064a47281e31e38010159c32d57",
      "tree": "fcc1953b65d29caabbb4caf25498f4f160797a70",
      "parents": [
        "bc5fea4299b8bda5f73c6f79dc35d388caf8bced"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] Convert lockd to use the newer mutex instead of the older semaphore\n\nBoth the (recently introduces) nsm_sema and the older f_sema are converted\nover.\n\nCc: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bc5fea4299b8bda5f73c6f79dc35d388caf8bced",
      "tree": "e8822bdad94634e896690a285e1e26b54a0f09d5",
      "parents": [
        "0ade060ee51b9b6cf18d580405dc9ab90067f69f"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:19 2006 -0700"
      },
      "message": "[PATCH] knfsd: register all RPC programs with portmapper by default\n\nThe NFSACL patches introduced support for multiple RPC services listening on\nthe same transport.  However, only the first of these services was registered\nwith portmapper.  This was perfectly fine for nfsacl, as you traditionally do\nnot want these to show up in a portmapper listing.\n\nThe patch below changes the default behavior to always register all services\nlistening on a given transport, but retains the old behavior for nfsacl\nservices.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ade060ee51b9b6cf18d580405dc9ab90067f69f",
      "tree": "cb4973c837192053f5e2b2a5b2e3790362849d00",
      "parents": [
        "460f5cac1e24e947509b6112c99c5bc9ff687b45"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: fix use of h_nextrebind\n\nnlmclnt_recovery would try to force a portmap rebind by setting\nhost-\u003eh_nextrebind to 0.  The right thing to do here is to set it to the\ncurrent time.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "460f5cac1e24e947509b6112c99c5bc9ff687b45",
      "tree": "135d63c8401c79513dd43efdd2faeae51b87c5dc",
      "parents": [
        "39be4502cb75dc26007fe1659735b26c8e63fcc6"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: export nsm_local_state to user space via sysctl\n\nEvery NLM call includes the client\u0027s NSM state.  Currently, the Linux client\nalways reports 0 - which seems not to cause any problems, but is not what the\nprotocol says.\n\nThis patch exposes the kernel\u0027s internal variable to user space via a sysctl,\nwhich can be set at system boot time by statd.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39be4502cb75dc26007fe1659735b26c8e63fcc6",
      "tree": "0f4c6bf14f8a975178b3192bfc9ba942da56619f",
      "parents": [
        "031d869d0e0be18cfe35526be5608225b8f0a7be"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:18 2006 -0700"
      },
      "message": "[PATCH] knfsd: match GRANTED_RES replies using cookies\n\nWhen we send a GRANTED_MSG call, we current copy the NLM cookie provided in\nthe original LOCK call - because in 1996, some broken clients seemed to rely\non this bug.  However, this means the cookies are not unique, so that when the\nclient\u0027s GRANTED_RES message comes back, we cannot simply match it based on\nthe cookie, but have to use the client\u0027s IP address in addition.  Which breaks\nwhen you have a multi-homed NFS client.\n\nThe X/Open spec explicitly mentions that clients should not expect the same\ncookie; so one may hope that any clients that were broken in 1996 have either\nbeen fixed or rendered obsolete.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "031d869d0e0be18cfe35526be5608225b8f0a7be",
      "tree": "b9b8445bec58d268feaa2efb61da5133ffcc2093",
      "parents": [
        "abd1f50094cad9dff6d68ada98b495549f52fc30"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: make nlmclnt_next_cookie SMP safe\n\nThe way we incremented the NLM cookie in nlmclnt_next_cookie was not thread\nsafe.  This patch changes the counter to an atomic_t\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "abd1f50094cad9dff6d68ada98b495549f52fc30",
      "tree": "dd738067aa90af1cb4613a7c711ee426ff5f8ae9",
      "parents": [
        "350fce8dbf43f7d441b77366851c9ce3cd28d6dc"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: optionally use hostnames for identifying peers\n\nThis patch adds the nsm_use_hostnames sysctl and module param.  If set, lockd\nwill use the client\u0027s name (as given in the NLM arguments) to find the NSM\nhandle.  This makes recovery work when the NFS peer is multi-homed, and the\nreboot notification arrives from a different IP than the original lock calls.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "350fce8dbf43f7d441b77366851c9ce3cd28d6dc",
      "tree": "a47f7e875bb9c06b93df30b84de9ca97d66740b2",
      "parents": [
        "c53c1bb94f30cecee79ca0a8e9977640338283be"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:16:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: simplify nlmsvc_invalidate_all\n\nAs a result of previous patches, the loop in nlmsvc_invalidate_all just sets\nh_expires for all client/hosts to 0 (though does it in a very complicated\nway).\n\nThis was possibly meant to trigger early garbage collection but half the time\n\u00270\u0027 is in the future and so it infact delays garbage collection.\n\nPre-aging the \u0027hosts\u0027 is not really needed at this point anyway so we throw\nout the loop and nlm_find_client which is no longer needed.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c53c1bb94f30cecee79ca0a8e9977640338283be",
      "tree": "88235a72747c8b151be619f3c1a95f9ae1a1dbc0",
      "parents": [
        "f2af793db02d2c2f677bdb5bf8e0efdcbf9c0256"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:16:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: Add nlm_destroy_host\n\nThis patch moves the host destruction code out of nlm_host_gc into a function\nof its own.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2af793db02d2c2f677bdb5bf8e0efdcbf9c0256",
      "tree": "2daa40a1a128905ff514df995903d8ef8d692b04",
      "parents": [
        "07ba80635117c136714084e019375aa508365375"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: make nlm_traverse_* more flexible\n\nThis patch makes nlm_traverse{locks,blocks,shares} and friends use a function\npointer rather than a \"action\" enum.\n\nThis function pointer is given two nlm_hosts (one given by the caller, the\nother taken from the lock/block/share currently visited), and is free to do\nwith them as it wants.  If it returns a non-zero value, the lockd/block/share\nis released.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "07ba80635117c136714084e019375aa508365375",
      "tree": "06160152e4b9c137669a5c833366858f72601895",
      "parents": [
        "68a2d76cea4234bc027df23085d9df4f2171f7fc"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: change nlm_file to use a hlist\n\nThis changes struct nlm_file and the nlm_files hash table to use a hlist\ninstead of the home-grown lists.\n\nThis allows us to remove f_hash which was only used to find the right hash\nchain to delete an entry from.\n\nIt also increases the size of the nlm_files hash table from 32 to 128.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "68a2d76cea4234bc027df23085d9df4f2171f7fc",
      "tree": "79a595aaebb198f3692e9187d0284bc4ac18f469",
      "parents": [
        "0cea32761a2f954c6d42ca79d7d1e6b9663b1e4a"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: Change list of blocked list to list_node\n\nThis patch changes the nlm_blocked list to use a list_node instead of\nhomegrown linked list handling.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0cea32761a2f954c6d42ca79d7d1e6b9663b1e4a",
      "tree": "4e98cf7e8e4c353e9cfc58a71a16d34c521a46a3",
      "parents": [
        "9502c52259f7038b6c1e31532e22884716a56b1a"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: make the hash chains use a hlist_node\n\nGet rid of the home-grown singly linked lists for the nlm_host hash table.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9502c52259f7038b6c1e31532e22884716a56b1a",
      "tree": "234b6eef6ed6d58038d8433216e8549c9e23028e",
      "parents": [
        "5c8dd29ca7fc7483690cef4306549742d534f2a2"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: make the nsm upcalls use the nsm_handle\n\nThis converts the statd upcalls to use the nsm_handle\n\nThis means that we only register each host once with statd, rather than\nregistering each host/vers/protocol triple.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5c8dd29ca7fc7483690cef4306549742d534f2a2",
      "tree": "edf51e354535448ea6b57a59358d9f28c556684c",
      "parents": [
        "f0737a39a64a9df32bb045c54e1cdf6cecdcbdd7"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:17 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: Make nlm_host_rebooted use the nsm_handle\n\nThis patch makes the SM_NOTIFY handling understand and use the nsm_handle.\n\nTo make it a bit clear what is happening:\n\n    nlmclent_prepare_reclaim and nlmclnt_finish_reclaim\n    get open-coded into \u0027reclaimer\u0027\n\nThe result is tidied up.\n\nThen some of that functionality is moved out into nlm_host_rebooted (which\ncalls nlmclnt_recovery which starts a thread which runs reclaimer).\n\nAlso host_rebooted now finds an nsm_handle rather than a host, then then\niterates over all hosts and deals with each host that shares that nsm_handle.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f0737a39a64a9df32bb045c54e1cdf6cecdcbdd7",
      "tree": "a43dd888bd2af9511ef5a0c3aeb1f4cb50ca44a2",
      "parents": [
        "8dead0dbd478f35fd943f3719591e5af1ac0950d"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: misc minor fixes, indentation changes\n\ncleans up some code in lockd/host.c, fixes an error printk and makes it a\nfatal BUG if nlmsvc_free_host_resources fails.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8dead0dbd478f35fd943f3719591e5af1ac0950d",
      "tree": "05ad7dd248263cbeecc4f3d0b4cbb3ec06c65626",
      "parents": [
        "db4e4c9a9e741ee812e1febf5e386d6a24218a71"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: lockd: introduce nsm_handle\n\nThis patch introduces the nsm_handle, which is shared by all nlm_host objects\nreferring to the same client.\n\nWith this patch applied, all nlm_hosts from the same address will share the\nsame nsm_handle.  A future patch will add sharing by name.\n\nNote: this patch changes h_name so that it is no longer guaranteed to be an IP\naddress of the host.  When the host represents an NFS server, h_name will be\nthe name passed in the mount call.  When the host represents a client, h_name\nwill be the name presented in the lock request received from the client.  A\nh_name is only used for printing informational messages, this change should\nnot be significant.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db4e4c9a9e741ee812e1febf5e386d6a24218a71",
      "tree": "92e59fba30edbf5e10908eb2952928a5e2a29adf",
      "parents": [
        "cf712c24d72341effcfd28330b83b49f77cb627b"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: when looking up a lockd host, pass hostname \u0026 length\n\nThis patch adds the peer\u0027s hostname (and name length) to all calls to\nnlm*_lookup_host functions.  A subsequent patch will make use of these (is\nrequested by a sysctl).\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cf712c24d72341effcfd28330b83b49f77cb627b",
      "tree": "88fcb932f3c85d83601e45473bee2c99a22ba9c2",
      "parents": [
        "977faf392fc898407554bbe7338d57b29e3660cf"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: consolidate common code for statd-\u003elockd notification\n\nCommon code from nlm4svc_proc_sm_notify and nlmsvc_proc_sm_notify is moved\ninto a new nlm_host_rebooted.\n\nThis is in preparation of a patch that will change the reboot notification\nhandling entirely.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "977faf392fc898407554bbe7338d57b29e3660cf",
      "tree": "9bd611c100e3e2d1aa336010124cda0155183bb8",
      "parents": [
        "7b2b1fee30df7e2165525cd03f7d1d01a3a56794"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Wed Oct 04 02:15:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: hide use of lockd\u0027s h_monitored flag\n\nThis patch moves all checks of the h_monitored flag into the\nnsm_monitor/unmonitor functions.  A subsequent patch will replace the\nmechanism by which we mark a host as being monitored.\n\nThere is still one occurence of h_monitored outside of mon.c and that is in\nclntlock.c where we respond to a reboot.  The subsequent patch will modify\nthis too.\n\nSigned-off-by: Olaf Kirch \u003cokir@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b2b1fee30df7e2165525cd03f7d1d01a3a56794",
      "tree": "71740fb9ea88465b54c52d998eadd012a6f8f4a6",
      "parents": [
        "fce1456a19f5c08b688c29f00ef90fdfa074c79b"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: knfsd: cache ipmap per TCP socket\n\nSpeed up high call-rate workloads by caching the struct ip_map for the peer on\nthe connected struct svc_sock instead of looking it up in the ip_map cache\nhashtable on every call.  This helps workloads using AUTH_SYS authentication\nover TCP.\n\nTesting was on a 4 CPU 4 NIC Altix using 4 IRIX clients, each with 16\nsynthetic client threads simulating an rsync (i.e.  recursive directory\nlisting) workload reading from an i386 RH9 install image (161480 regular files\nin 10841 directories) on the server.  That tree is small enough to fill in the\nserver\u0027s RAM so no disk traffic was involved.  This setup gives a sustained\ncall rate in excess of 60000 calls/sec before being CPU-bound on the server.\n\nProfiling showed strcmp(), called from ip_map_match(), was taking 4.8% of each\nCPU, and ip_map_lookup() was taking 2.9%.  This patch drops both contribution\ninto the profile noise.\n\nNote that the above result overstates this value of this patch for most\nworkloads.  The synthetic clients are all using separate IP addresses, so\nthere are 64 entries in the ip_map cache hash.  Because the kernel measured\ncontained the bug fixed in commit\n\ncommit 1f1e030bf75774b6a283518e1534d598e14147d4\n\nand was running on 64bit little-endian machine, probably all of those 64\nentries were on a single chain, thus increasing the cost of ip_map_lookup().\n\nWith a modern kernel you would need more clients to see the same amount of\nperformance improvement.  This patch has helped to scale knfsd to handle a\ndeployment with 2000 NFS clients.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fce1456a19f5c08b688c29f00ef90fdfa074c79b",
      "tree": "789afb4efe2764cabbd65f7d7069acb538711e8b",
      "parents": [
        "596bbe53eb3abfe7326b2f5e8afd614265c319c8"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: make nfsd readahead params cache SMP-friendly\n\nMake the nfsd read-ahead params cache more SMP-friendly by changing the single\nglobal list and lock into a fixed 16-bucket hashtable with per-bucket locks.\nThis reduces spinlock contention in nfsd_read() on read-heavy workloads on\nmultiprocessor servers.\n\nTesting was on a 4 CPU 4 NIC Altix using 4 IRIX clients each doing 1K\nstreaming reads at full line rate.  The server had 128 nfsd threads, which\nsizes the RA cache at 256 entries, of which only a handful were used.  Flat\nprofiling shows nfsd_read(), including the inlined nfsd_get_raparms(), taking\n10.4% of each CPU.  This patch drops the contribution from nfsd() to 1.71% for\neach CPU.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "596bbe53eb3abfe7326b2f5e8afd614265c319c8",
      "tree": "31e1f008f8acb46d1a3a937538446a1447ed9c8f",
      "parents": [
        "7adae489fe794e3e203ff168595f635d0b845e59"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Allow max size of NFSd payload to be configured\n\nThe max possible is the maximum RPC payload.  The default depends on amount of\ntotal memory.\n\nThe value can be set within reason as long as no nfsd threads are currently\nrunning.  The value can also be ready, allowing the default to be determined\nafter nfsd has started.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7adae489fe794e3e203ff168595f635d0b845e59",
      "tree": "f20544b72bdaea7cff0d340b5b4e5bfcaf2ce8fb",
      "parents": [
        "3cc03b164cf01c6f36e64720b58610d292fb26f7"
      ],
      "author": {
        "name": "Greg Banks",
        "email": "gnb@melbourne.sgi.com",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:16 2006 -0700"
      },
      "message": "[PATCH] knfsd: Prepare knfsd for support of rsize/wsize of up to 1MB, over TCP\n\nThe limit over UDP remains at 32K.  Also, make some of the apparently\narbitrary sizing constants clearer.\n\nThe biggest change here involves replacing NFSSVC_MAXBLKSIZE by a function of\nthe rqstp.  This allows it to be different for different protocols (udp/tcp)\nand also allows it to depend on the servers declared sv_bufsiz.\n\nNote that we don\u0027t actually increase sv_bufsz for nfs yet.  That comes next.\n\nSigned-off-by: Greg Banks \u003cgnb@melbourne.sgi.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3cc03b164cf01c6f36e64720b58610d292fb26f7",
      "tree": "b558e11a087945ad5b9a1a25483aa2acc8d93fbb",
      "parents": [
        "4452435948424e5322c2a2fefbdc2cf3732cc45d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Avoid excess stack usage in svc_tcp_recvfrom\n\n..  by allocating the array of \u0027kvec\u0027 in \u0027struct svc_rqst\u0027.\n\nAs we plan to increase RPCSVC_MAXPAGES from 8 upto 256, we can no longer\nallocate an array of this size on the stack.  So we allocate it in \u0027struct\nsvc_rqst\u0027.\n\nHowever svc_rqst contains (indirectly) an array of the same type and size\n(actually several, but they are in a union).  So rather than waste space, we\nmove those arrays out of the separately allocated union and into svc_rqst to\nshare with the kvec moved out of svc_tcp_recvfrom (various arrays are used at\ndifferent times, so there is no conflict).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4452435948424e5322c2a2fefbdc2cf3732cc45d",
      "tree": "d2082c68d33298e85298852cafde7999ccca3364",
      "parents": [
        "5680c44632053a6c9464bca43083f01776d318da"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Replace two page lists in struct svc_rqst with one\n\nWe are planning to increase RPCSVC_MAXPAGES from about 8 to about 256.  This\nmeans we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.\n\nstruct svc_rqst contains two such arrays.  However the there are never more\nthat RPCSVC_MAXPAGES pages in the two arrays together, so only one array is\nneeded.\n\nThe two arrays are for the pages holding the request, and the pages holding\nthe reply.  Instead of two arrays, we can simply keep an index into where the\nfirst reply page is.\n\nThis patch also removes a number of small inline functions that probably\nserver to obscure what is going on rather than clarify it, and opencode the\nneeded functionality.\n\nAlso remove the \u0027rq_restailpage\u0027 variable as it is *always* 0.  i.e.  if the\nresponse \u0027xdr\u0027 structure has a non-empty tail it is always in the same pages\nas the head.\n\n check counters are initilised and incr properly\n check for consistant usage of ++ etc\n maybe extra some inlines for common approach\n general review\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nCc: Magnus Maatta \u003cnovell@kiruna.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5680c44632053a6c9464bca43083f01776d318da",
      "tree": "220f7bcb0168972bbc2ce804074f42b5470a1e15",
      "parents": [
        "cda9e0cd8a6b30ccc32edced066c378fbd87003d"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:45 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Fixed handling of lockd fail when adding nfsd socket\n\nArrgg..  We cannot \u0027lockd_up\u0027 before \u0027svc_addsock\u0027 as we don\u0027t know the\nprotocol yet....  So switch it around again and save the name of the created\nsockets so that it can be closed if lock_up fails.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cda9e0cd8a6b30ccc32edced066c378fbd87003d",
      "tree": "a91bd1c12b1ddf355142f5a31c0caf487e0dffc8",
      "parents": [
        "37a034729ae611295bbb8e925333d4d54d7c1ebc"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Oct 04 02:15:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:15 2006 -0700"
      },
      "message": "[PATCH] knfsd: Protect update to sn_nrthreads with lock_kernel\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "37a034729ae611295bbb8e925333d4d54d7c1ebc"
}
