On Wed, 2008-09-17 at 15:57 +0200, Mike Galbraith wrote: > On Wed, 2008-09-17 at 16:36 +0300, Ilpo Järvinen wrote: > > On Wed, 17 Sep 2008, Mike Galbraith wrote: > > > > > On Wed, 2008-09-17 at 14:49 +0200, Ingo Molnar wrote: > > > > > > > git log --pretty=format:"%h: %s" 2069f45..847106f | grep -viE \ > > > > 'block|alsa|pcmcia|sound|Merge|iosched|blk|DAC960|scsi|s390|paride|pktcdvd|filter|cdrom|drm' > > > > > > > > gives us: > > > > > > > > 7daf705: Start using the new '%pS' infrastructure to print symbols > > > > 6f0f0fd: security: remove register_security hook > > > > 93cbace: security: remove dummy module fix > > > > 5915eb5: security: remove dummy module > > > > b478a9f: security: remove unused sb_get_mnt_opts hook > > > > 32502b8: splice: fix generic_file_splice_read() race with page invalidation > > > > 8b3d356: ramfs: enable splice write > > > > a144ff0: xen: Avoid allocations causing swap activity on the resume path > > > > > > > > which really only leaves that security commit your bisection fingered. > > > > Which _slightly_ raises its likelyhood of being implicated. Structure > > > > size changes can move two formerly far-apart netperf-relevant symbols on > > > > the same cacheline, which can start cache ping-pong-ing badly. > > > > > > I sure hope it's something like ping-pong, it's driving me NUTS. > > > > How about dividing the problem to smaller blocks then by restoring > > parts of the change... > > Well, what I've done is check out the "bad" tree, reverted every darn > commit between there and the "good" tree, and then reverted the reverts > so I have a nice merge-free line and don't have to remember to think > backward. (probably sounds silly to git-foo masters) I'll try > bisecting that in the a.m. and see what happens. It bisected to 1c9ce52. Reverting that in 27.git had the expected result, nada. Full bisection/test log below - you can jump straight to post run sanity checks. I'm torn between building a straight line tree from v2.6.26 through git.today and bisecting that sucker, or exorcising netperf from my box and swearing a sacred oath to never download the damned thing again. Nuking netperf is most attractive option. 1e65e841bb5584136ed6047c55cf77532afbbb55 is first bad commit commit 1e65e841bb5584136ed6047c55cf77532afbbb55 Author: Mike Galbraith <efault@xxxxxx> Date: Wed Sep 17 14:55:50 2008 +0200 Revert "Revert "block: export "ro" attribute"" This reverts commit 2c8803af5c1bf41200167f29349f7f1396683a51. :040000 040000 08ca8ba7ff3f9506a5462b4122256356cae28ceb bef679485bc924ad1dc867858ebda1b68196b5a8 M block git bisect start # good: [7804ad865f7d0cd9bdc51da601772ce4d2e252ca] Revert "[ALSA] soc - tlv320aic3x - revisit clock setup" git bisect good 7804ad865f7d0cd9bdc51da601772ce4d2e252ca # bad: [2846693a63a34ac6d582dd55a7e00605b49b1cec] Revert "Revert "[S390] sclp_tty: Fix scheduling while atomic bug."" git bisect bad 2846693a63a34ac6d582dd55a7e00605b49b1cec # bad: [70477f86f63640be2dd1d8968aeb47870a5c21c6] Revert "Revert "xen/blkfront: Make sure we don't use bounce buffers, we don't need them."" git bisect bad 70477f86f63640be2dd1d8968aeb47870a5c21c6 # good: [7c6ccb520424939deff0a50f3fae621c6477dbbe] Revert "Revert "ALSA: hda - Add bdl_pos_adj option"" git bisect good 7c6ccb520424939deff0a50f3fae621c6477dbbe # good: [66036beae94f043f99044e285935486126a9c4bd] Revert "Revert "pcmcia: fix Alchemy warnings"" git bisect good 66036beae94f043f99044e285935486126a9c4bd # good: [6b7b5ef18871c8f7c15eedc6eb53270eaf8bc613] Revert "Revert "ALSA: hda - Added SSID for 'Fujitsu Siemens Amilo M1451G' laptop"" git bisect good 6b7b5ef18871c8f7c15eedc6eb53270eaf8bc613 # good: [024905ea4b2d1ab5d6b845ba84ddfc0857fb2d2a] Revert "Revert "ALSA: hda - Add MacBook 3.1 support"" git bisect good 024905ea4b2d1ab5d6b845ba84ddfc0857fb2d2a # good: [4bbe3501e06eddaa4900894efa519f1167cb8624] Revert "Revert "as-iosched: properly protect ioc_gone and ioc count"" git bisect good 4bbe3501e06eddaa4900894efa519f1167cb8624 # good: [e124683c1cd5c73c494f9ea6cee8a71e68bb70ca] Revert "Revert "Added in user-injected messages into blk traces"" git bisect good e124683c1cd5c73c494f9ea6cee8a71e68bb70ca # bad: [f148fae0bc009aa23122c5762368a1a16bb55b86] Revert "Revert "block: kill request_queue_t"" git bisect bad f148fae0bc009aa23122c5762368a1a16bb55b86 # bad: [1e65e841bb5584136ed6047c55cf77532afbbb55] Revert "Revert "block: export "ro" attribute"" git bisect bad 1e65e841bb5584136ed6047c55cf77532afbbb55 v2.6.26-974-g2846693 (847106f) 16384 87380 1 1 60.00 94350.45 16384 87380 1 1 60.01 95857.25 16384 87380 1 1 60.00 95334.84 16384 87380 1 1 60.00 95052.11 v2.6.26-659-g7804ad8 (2069f45) 16384 87380 1 1 60.00 98630.64 16384 87380 1 1 60.00 98653.14 16384 87380 1 1 60.00 99162.65 16384 87380 1 1 60.00 98652.38 v2.6.26-816-g70477f8 (call it bad) 16384 87380 1 1 60.00 95532.19 16384 87380 1 1 60.01 96211.39 16384 87380 1 1 60.01 96246.73 16384 87380 1 1 60.01 96286.40 v2.6.26-737-g7c6ccb5 16384 87380 1 1 60.00 98478.00 16384 87380 1 1 60.00 99221.33 16384 87380 1 1 60.00 98930.70 16384 87380 1 1 60.00 98958.73 v2.6.26-776-g66036be 16384 87380 1 1 60.00 97958.10 16384 87380 1 1 60.01 98683.80 16384 87380 1 1 60.01 98515.34 16384 87380 1 1 60.00 98396.11 v2.6.26-796-g6b7b5ef 16384 87380 1 1 60.00 99047.21 16384 87380 1 1 60.00 98095.23 16384 87380 1 1 60.00 99811.18 16384 87380 1 1 60.00 98651.32 v2.6.26-806-g024905e 16384 87380 1 1 60.00 98823.46 16384 87380 1 1 60.00 98959.11 16384 87380 1 1 60.00 98709.95 16384 87380 1 1 60.00 99042.13 v2.6.26-811-g4bbe350 16384 87380 1 1 60.00 98144.99 16384 87380 1 1 60.01 99023.30 16384 87380 1 1 60.01 98685.45 16384 87380 1 1 60.01 98606.18 v2.6.26-813-ge124683 16384 87380 1 1 60.00 98458.18 16384 87380 1 1 60.00 98163.92 16384 87380 1 1 60.00 98115.62 16384 87380 1 1 60.00 98633.62 v2.6.26-815-gf148fae 16384 87380 1 1 60.00 95649.91 16384 87380 1 1 60.00 96292.34 16384 87380 1 1 60.00 96043.82 16384 87380 1 1 60.00 96093.81 v2.6.26-814-g1e65e84 16384 87380 1 1 60.00 94906.81 16384 87380 1 1 60.00 95445.05 16384 87380 1 1 60.01 94698.68 16384 87380 1 1 60.00 94938.65 Post bisection checkouts ------------------------------------------------ v2.6.26-rc8-208-g02c6230 16384 87380 1 1 60.00 98392.94 16384 87380 1 1 60.00 98199.96 16384 87380 1 1 60.00 98534.27 16384 87380 1 1 60.00 98501.02 v2.6.26-rc8-209-g1c9ce52 16384 87380 1 1 60.00 97583.88 16384 87380 1 1 60.00 97326.23 16384 87380 1 1 60.00 97582.80 16384 87380 1 1 60.00 97568.63 v2.6.26-814-g1e65e84 16384 87380 1 1 60.00 94856.33 16384 87380 1 1 60.00 94594.03 16384 87380 1 1 60.00 94751.74 16384 87380 1 1 60.01 96825.28 v2.6.26-813-ge124683 16384 87380 1 1 60.00 97550.64 16384 87380 1 1 60.00 98024.28 16384 87380 1 1 60.00 98486.85 16384 87380 1 1 60.00 98493.41 marge:..git/linux-2.6 # git rev-list v2.6.26-813-ge124683..v2.6.26-814-g1e65e84 1e65e841bb5584136ed6047c55cf77532afbbb55 marge:..git/linux-2.6 # git show 1e65e841bb5584136ed6047c55cf77532afbbb55 commit 1e65e841bb5584136ed6047c55cf77532afbbb55 Author: Mike Galbraith <efault@xxxxxx> Date: Wed Sep 17 14:55:50 2008 +0200 Revert "Revert "block: export "ro" attribute"" This reverts commit 2c8803af5c1bf41200167f29349f7f1396683a51. diff --git a/block/genhd.c b/block/genhd.c index b922d48..43e468e 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -400,6 +400,14 @@ static ssize_t disk_removable_show(struct device *dev, (disk->flags & GENHD_FL_REMOVABLE ? 1 : 0)); } +static ssize_t disk_ro_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct gendisk *disk = dev_to_disk(dev); + + return sprintf(buf, "%d\n", disk->policy ? 1 : 0); +} + static ssize_t disk_size_show(struct device *dev, struct device_attribute *attr, char *buf) { @@ -472,6 +480,7 @@ static ssize_t disk_fail_store(struct device *dev, static DEVICE_ATTR(range, S_IRUGO, disk_range_show, NULL); static DEVICE_ATTR(removable, S_IRUGO, disk_removable_show, NULL); +static DEVICE_ATTR(ro, S_IRUGO, disk_ro_show, NULL); static DEVICE_ATTR(size, S_IRUGO, disk_size_show, NULL); static DEVICE_ATTR(capability, S_IRUGO, disk_capability_show, NULL); static DEVICE_ATTR(stat, S_IRUGO, disk_stat_show, NULL); @@ -483,6 +492,7 @@ static struct device_attribute dev_attr_fail = static struct attribute *disk_attrs[] = { &dev_attr_range.attr, &dev_attr_removable.attr, + &dev_attr_ro.attr, &dev_attr_size.attr, &dev_attr_capability.attr, &dev_attr_stat.attr, -- To unsubscribe from this list: send the line "unsubscribe kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html