[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-linus bisection] complete test-amd64-i386-rumpuserxen-i386
branch xen-unstable xen branch xen-unstable job test-amd64-i386-rumpuserxen-i386 test xen-boot Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: rumpuserxen git://xenbits.xen.org/rumpuser-xen.git Tree: rumpuserxen_buildrumpsh https://github.com/rumpkernel/buildrump.sh.git Tree: rumpuserxen_netbsdsrc https://github.com/rumpkernel/src-netbsd Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: c4bc680cf7bcd257865dac97dd2debbc9dcffad4 Bug not present: 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e commit c4bc680cf7bcd257865dac97dd2debbc9dcffad4 Merge: 59c3cb5 a899418 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 09:15:02 2015 -0700 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fix from Thomas Gleixner: "A single fix for a cpu hotplug race vs. interrupt descriptors: Prevent irq setup/teardown across the cpu starting/dying parts of cpu hotplug so that the starting/dying cpu has a stable view of the descriptor space. This has been an issue for all architectures in the cpu dying phase, where interrupts are migrated away from the dying cpu. In the starting phase its mostly a x86 issue vs the vector space update" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hotplug: Prevent alloc/free of irq descriptors during cpu up/down commit a899418167264c7bac574b1a0f1b2c26c5b0995a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jul 5 17:12:30 2015 +0000 hotplug: Prevent alloc/free of irq descriptors during cpu up/down When a cpu goes up some architectures (e.g. x86) have to walk the irq space to set up the vector space for the cpu. While this needs extra protection at the architecture level we can avoid a few race conditions by preventing the concurrent allocation/free of irq descriptors and the associated data. When a cpu goes down it moves the interrupts which are targeted to this cpu away by reassigning the affinities. While this happens interrupts can be allocated and freed, which opens a can of race conditions in the code which reassignes the affinities because interrupt descriptors might be freed underneath. Example: CPU1 CPU2 cpu_up/down irq_desc = irq_to_desc(irq); remove_from_radix_tree(desc); raw_spin_lock(&desc->lock); free(desc); We could protect the irq descriptors with RCU, but that would require a full tree change of all accesses to interrupt descriptors. But fortunately these kind of race conditions are rather limited to a few things like cpu hotplug. The normal setup/teardown is very well serialized. So the simpler and obvious solution is: Prevent allocation and freeing of interrupt descriptors accross cpu hotplug. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: xiao jin <jin.xiao@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Yanmin Zhang <yanmin_zhang@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150705171102.063519515@xxxxxxxxxxxxx For bisection revision-tuple graph see: http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-linus/test-amd64-i386-rumpuserxen-i386.xen-boot.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Searching for failure / basis pass: 59649 fail [host=pinot0] / 59462 ok. Failure / basis pass flights: 59649 / 59462 (tree with no url: ovmf) (tree with no url: seabios) Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: rumpuserxen git://xenbits.xen.org/rumpuser-xen.git Tree: rumpuserxen_buildrumpsh https://github.com/rumpkernel/buildrump.sh.git Tree: rumpuserxen_netbsdsrc https://github.com/rumpkernel/src-netbsd Tree: xen git://xenbits.xen.org/xen.git Latest 761ab7664b30ed907f55da7f6966d4537f36d9ff c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 Basis pass 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 Generating revisions with ./adhoc-revtuple-generator git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git#59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e-761ab7664b30ed907f55da7f6966d4537f36d9ff git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/staging/qemu-xen-unstable.git#3e2e51ecc1120bd59537ed19b6bc7066511c7e2e-3e2e51ecc1120bd59537ed19b6bc7066511c7e2e git://xenbits.xen.org/staging/qemu-upstream-unstable.git#c4a962ec0c61aa9b860a3635c8424472e6c2cc2c-c4a962ec0c61aa9b860a3635c8424472e6c2cc2c git://xenbits.xen.org/rumpuser-xen.git#30d72f3fc5e35cd53afd82c8179cc0e0b11146ad-30d72f3fc5e35cd53afd82c8179cc0e0b11146ad https://github.com/rumpkernel/buildrump.sh.git#47b1a5eef43cce61bf018500bddf751ecf9de38e-47b1a5eef43cce61bf018500bddf751ecf9de38e https://github.com/rumpkernel/src-netbsd#17a547ca2943a7d98780a0366966c3aef29093a6-17a547ca2943a7d98780a0366966c3aef29093a6 git://xenbits.xen.org/xen.git#c40317f11b3f05e7c06a2213560c8471081f2662-c40317f11b3f05e7c06a2213560c8471081f2662 + exec + sh -xe + cd /home/osstest/repos/linux-2.6 + git remote set-url origin git://cache:9419/git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* From git://cache:9419/git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 3a26a5b..9d37e66 master -> origin/master + exec + sh -xe + cd /home/osstest/repos/linux-2.6 + git remote set-url origin git://cache:9419/git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* Loaded 1113 nodes in revision graph Searching for test results: 59462 pass 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59531 fail f760b87f8f12eb262f14603e65042996fe03720e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59552 pass irrelevant 59555 pass 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59559 fail f760b87f8f12eb262f14603e65042996fe03720e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59606 [] 59649 fail 761ab7664b30ed907f55da7f6966d4537f36d9ff c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59686 fail 7fbb58a06517443ff68f36f4f1867ba978eac5dd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59692 fail 7b732169e9d1f0f6614a8e85a9e65a9d755b3d86 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59700 fail c4bc680cf7bcd257865dac97dd2debbc9dcffad4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59675 pass 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59685 fail 761ab7664b30ed907f55da7f6966d4537f36d9ff c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59704 pass 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59706 fail c4bc680cf7bcd257865dac97dd2debbc9dcffad4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59708 pass 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 59709 fail c4bc680cf7bcd257865dac97dd2debbc9dcffad4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 Searching for interesting versions Result found: flight 59462 (pass), for basis pass Result found: flight 59649 (fail), for basis failure Repro found: flight 59675 (pass), for basis pass Repro found: flight 59685 (fail), for basis failure 0 revisions at 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e2e51ecc1120bd59537ed19b6bc7066511c7e2e c4a962ec0c61aa9b860a3635c8424472e6c2cc2c 30d72f3fc5e35cd53afd82c8179cc0e0b11146ad 47b1a5eef43cce61bf018500bddf751ecf9de38e 17a547ca2943a7d98780a0366966c3aef29093a6 c40317f11b3f05e7c06a2213560c8471081f2662 No revisions left to test, checking graph state. Result found: flight 59462 (pass), for last pass Result found: flight 59700 (fail), for first failure Repro found: flight 59704 (pass), for last pass Repro found: flight 59706 (fail), for first failure Repro found: flight 59708 (pass), for last pass Repro found: flight 59709 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: c4bc680cf7bcd257865dac97dd2debbc9dcffad4 Bug not present: 59c3cb553f5fc4ed6868eeaae6ffd8e1daf6d93e + exec + sh -xe + cd /home/osstest/repos/linux-2.6 + git remote set-url origin git://cache:9419/git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* commit c4bc680cf7bcd257865dac97dd2debbc9dcffad4 Merge: 59c3cb5 a899418 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Jul 12 09:15:02 2015 -0700 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fix from Thomas Gleixner: "A single fix for a cpu hotplug race vs. interrupt descriptors: Prevent irq setup/teardown across the cpu starting/dying parts of cpu hotplug so that the starting/dying cpu has a stable view of the descriptor space. This has been an issue for all architectures in the cpu dying phase, where interrupts are migrated away from the dying cpu. In the starting phase its mostly a x86 issue vs the vector space update" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: hotplug: Prevent alloc/free of irq descriptors during cpu up/down commit a899418167264c7bac574b1a0f1b2c26c5b0995a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Jul 5 17:12:30 2015 +0000 hotplug: Prevent alloc/free of irq descriptors during cpu up/down When a cpu goes up some architectures (e.g. x86) have to walk the irq space to set up the vector space for the cpu. While this needs extra protection at the architecture level we can avoid a few race conditions by preventing the concurrent allocation/free of irq descriptors and the associated data. When a cpu goes down it moves the interrupts which are targeted to this cpu away by reassigning the affinities. While this happens interrupts can be allocated and freed, which opens a can of race conditions in the code which reassignes the affinities because interrupt descriptors might be freed underneath. Example: CPU1 CPU2 cpu_up/down irq_desc = irq_to_desc(irq); remove_from_radix_tree(desc); raw_spin_lock(&desc->lock); free(desc); We could protect the irq descriptors with RCU, but that would require a full tree change of all accesses to interrupt descriptors. But fortunately these kind of race conditions are rather limited to a few things like cpu hotplug. The normal setup/teardown is very well serialized. So the simpler and obvious solution is: Prevent allocation and freeing of interrupt descriptors accross cpu hotplug. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: xiao jin <jin.xiao@xxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Yanmin Zhang <yanmin_zhang@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20150705171102.063519515@xxxxxxxxxxxxx Revision graph left in /home/logs/results/bisect/linux-linus/test-amd64-i386-rumpuserxen-i386.xen-boot.{dot,ps,png,html}. ---------------------------------------- 59709: tolerable FAIL flight 59709 linux-linus real-bisect [real] http://logs.test-lab.xenproject.org/osstest/logs/59709/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-amd64-i386-rumpuserxen-i386 6 xen-boot fail baseline untested jobs: build-i386-rumpuserxen pass test-amd64-i386-rumpuserxen-i386 fail ------------------------------------------------------------ sg-report-flight on osstest.test-lab.xenproject.org logs: /home/logs/logs images: /home/logs/images Logs, config files, etc. are available at http://logs.test-lab.xenproject.org/osstest/logs Explanation of these reports, and of osstest in general, is at http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master Test harness code can be found at http://xenbits.xen.org/gitweb?p=osstest.git;a=summary _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |