=== _human_blip_ [n=mike@220.157.65.29] has joined #ubuntu-kernel === kylem thwaps zul. [01:35] BenC, what's the ubuntu firmware policy? (specifically the qlogic firmware for qla2xxx) [01:35] What aspect of the policy? [01:35] if they will let us redistribute it, we stick it into the kernel [01:36] under debian/firmware/ [01:36] well, you can optionally build the firmware in, but the recommended thing to do is load it from userspace. [01:36] (recommended by the driver authors) [01:36] if redistribution is "everyone does it, and the vendor says it doesn't care, but we have no real license", then it goes in lrm [01:36] drivers/scsi/qla2xxx/Kconfig, there was a bug report to turn on QLA_FC in edgy kernel, zul submitted a patch, but neglected to frob the other options... [01:37] e.g. acx is in lrm, ipw3945 is in main kernel [01:37] Oh, right [01:37] this is the tg3 style firmware, a static char[] array [01:37] kylem: If it's recommended to load from userspace, then do that [01:37] yeah, definitely [01:37] kylem: But it'll want an initramfs-tools tweak to make sure it's copied into the initramfs [01:37] yeah, except then you can't easily boot of it... [01:38] We handle firmware loading from initramfs [01:38] infinity: ping [01:38] pong [01:38] infinity: I need a initramfs-tools update soonish so I can have pata_* drivers working [01:38] can I do a quick upload just for this, or do you have larger plans? [01:39] BenC: Go hard. I have notihng interesting pending. [01:39] ok [01:39] is this one of those uploads that falls into the category of "cjwatson will kill me if I don't follow some policy"? [01:40] pata_* == libata PATA drivers? [01:40] initramfs-tools is fine [01:40] Just don't screw it up [01:40] infinity: Yeah [01:40] Oh, uh. [01:40] Yeah, leave my system unbootable, and I'll curse your name, otherwise it's all good. [01:40] Is there any HPA handling code in libata yet? [01:40] And if not, do HPAs default to being enabled or disabled? [01:40] mjg59: good question [01:41] Because that'll, like, kill people who've wiped their Thinkpad rescue partition but didn't disable the HPA in the BIOS [01:41] I only enabled the pata drivers that were not exp. [01:41] This is ata_piix [01:41] let me check that one [01:42] Given that the "fix" is a simple BIOS tweak, it's not a real issue [01:42] But it needs to be flagged as a blocker until we fix it [01:42] It's like 3 lines of code [01:42] ok === kaiki [n=kaiki@pool-72-83-127-19.washdc.fios.verizon.net] has joined #ubuntu-kernel === kaiki [n=kaiki@pool-72-83-127-19.washdc.fios.verizon.net] has left #ubuntu-kernel ["Leaving"] [03:07] infinity: Oooh, copy_modules_dir made my job easy [03:08] ata) copy_modules_dir kernel/drivers/ata;; [03:09] I wonder if it's a good idea to do that for scsi too [03:09] and ide [03:10] If that now works for everything we want, then hells yes. [03:13] I'll test it on all my machines before uploading [03:13] I added an "ata" for the auto load list, since pata/sata are now all in drivers/ata [03:13] and I know for sure that ide and scsi module lists are outdated anyway [03:16] They get old fast, yeah. [03:31] my concern now is initrd size [03:32] Oh, are we including all the old ide drivers AND the new pata ones? [03:32] I guess that could get somewhat bigger. [03:32] Though we're building 'em bloated anyway... *shrug* [03:32] no, I disabled the ide drivers that were replaced by the IDE ones [03:33] about 500k size increase with the copy_modules_dir {ata,scsi,ide} as opposed to the old method [03:33] Oh, kernel/drivers/ata/ is tiny, don't worry about it. [03:33] err, replaced by the pata ones [03:33] Well, "tiny" compared to my 6.3MB initrd. [03:33] I think the additional scsi drivers caused the size increase [03:33] I know there's more than what's in that list [03:33] Yeah, you may have added some. [03:34] *shrug* [03:35] scsi is definitely the big one. [03:35] Not much we can do about that. [03:36] Although, do we really still need two aic7xxx drivers? [03:37] I don't think they overlap [03:37] BenC, any idea why qla2xxx/qla fiber channel is off in edgy/feisty kernels? (or was it just an oversight when it changed from being CONFIG_SCSI_QLA2XXX) [03:37] We never included _old in our initrds, and I've not had a complaint. [03:38] That may be telling. [03:39] infinity: _old doesn't even have a dev table [03:39] maybe I can just disable it [03:39] kylem: perhaps, let me check [03:41] BenC: It's not referenced/loaded from the new aic7xxx driver on the fly when old hardware is encountered, or something equally GNAH?! [03:41] BenC: With no dev table, I'm curious as to why it's there at all. :) [03:42] infinity: My thoughts exactly, unless it's one of those weird platform drivers :) [03:42] probably can be disabled [03:43] kylem: My guess is it's an oversight [03:43] Could be one of those "this driver is the only one that works on Alpha, cause the other one needs some cleaning up" cases, or something, but as (like I said) we've not once had a complaint about it not being in our initrds, I somehow doubt any of our users care. [03:43] BenC, ok, i've turned it back on in edgy-updates. [03:44] on all but parisc, since it will likely fail there anyway. [03:44] I'll enable it in feisty [03:44] and get the firmware [03:44] kylem: There is no edgy/hppa. [03:44] infinity, that too. [03:44] aic7xxx_old.c gets the puke-o-rama of the day award. [03:44] (So no point in caring if a change will or won't biuld there) [03:44] I wish we had someone with canonical that knew hppa [03:44] oh wait === BenC looks around === kylem runs. [03:45] let me finish ATs first... === zul [n=chuck@CPE0006258ec6c1-CM000a73655d0e.cpe.net.cable.rogers.com] has joined #ubuntu-kernel [03:46] Would I get fired for proposing that feisty+1 be a parisc-only release, and we drop all the boring arches? [03:46] "Everyone else is doing these ones anyway, we want to stick out and be unique!" [03:46] hehe === kylem wants some of intels new ia64 kit. my apartment is electric heated anyway.... [03:47] We could get lamont involved and ship a C200 with every shipit CD. [03:47] Oh. My. Christ. [03:47] might as well stick "sh" in there as well [03:47] Look at aic7xxx_detect in aic7xxx_old.c [03:47] BenC: Harder to get our hands on stacks of Dreamcasts. [03:47] mjg59, it's love. [03:47] (Well, actually, DCs are easy to come by, it's the ethernet adapter that's rarer than kyle's sobriety) [03:48] infinity: heh [03:48] mjg59, would you rather hack that or acpi? [03:48] infinity, hey, i've not had a drink since boatnight. :) [03:48] kylem: Been ill? ;) [03:48] and even then, i was sick enough without alcohol [03:48] ACPI [03:48] mjg59: holy shit, it's like half the code in there [03:48] pci_find_device!!! [03:49] Yeah. Uhm. [03:49] I think we don't support that driver. [03:49] Oh, is aic7xxx_old one of those really, really old drivers that does all the PCI legwork itself still? [03:49] infinity, yes. [03:49] the driver appears to be older than i am. [03:49] ! [03:49] I thought those were purged from the tree long ago, for fear of setting a bad example for future generations. [03:49] if ( i == 0 ) /* We found one, but it's the 7810 RAID cont. */ [03:49] maybe it scared too many people away from cleaning up [03:50] Is entirely dependent upon the 7810 being the first entry in the array [03:50] This isn't mentioned in the array itself [03:50] ajmitch, better to dust off and nuke the driver from orbit... it's the only way to be sure. [03:50] It supports VLB [03:50] Which aic7xxx might not [03:50] But, erm. [03:50] mjg59: And as scary as all that is, I recall the old aic7xxx driver (before it was rewritten) being a stellarly stable and useful driver, a paragon of hardware vendor involvement for the greater good. [03:51] fuck VLB. [03:51] I think our standards must have been lower back then. Where "back then" was, what, the 60s? [03:51] The 1860s? [03:52] hey [03:52] just popping by and will be off soon [03:53] evening zul [03:56] ok, let's reboot and see how this new initramfs did === BenC [n=bcollins@debian/developer/bcollins] has joined #ubuntu-kernel [04:04] all is well, initramfs-tools uploaded === rikai [n=rikai@unaffiliated/rikai] has joined #ubuntu-kernel === rikai [n=rikai@unaffiliated/rikai] has joined #ubuntu-kernel [05:00] Is "" a legitimate SSID? === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has joined #ubuntu-kernel === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has left #ubuntu-kernel ["Sto] === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has joined #ubuntu-kernel [05:43] hello [05:43] sudo apt-get install linux-tree [05:43] why apt do not find linux-tree [05:43] ?? [05:43] http://wiki.ubuntu-it.org/CompilazioneKernel?highlight=%28kernel%29 [05:44] i'm using this how-to [05:45] s/linux-tree/linux-source/ [05:46] Though that howto is pretty sketchy. Doing all that as root is pointless. [05:46] anything not listed directly in the URL above is pretty much unsupported and probably broken [05:46] s/above/in the topic/ [05:49] i whant just to change the cpu timer frequency [05:49] i need only this modific [05:49] the rest under ubuntu work very good [05:50] the above URL has a link to a howto for rebuilding the ubuntu kernel properly with small config changes like what you want [05:52] This is a bad bear. Use it, but there are still a few missing modules. [05:52] for this argoment i do not whant use a different kernel version [05:57] https://wiki.ubuntu.com/KernelCustomBuild?highlight=%28CategoryKernel%29 [05:57] this page??? [05:57] Why can't we influence the timer on the command line anyway? [05:58] i do not know [05:58] i know that yesterday i has solved the problem rebuilding the kernel [05:58] infinity: Hardcoded into a lot of macros [05:59] i was using a software for musician [05:59] that need a low-latency kernel [05:59] BenC: Well, yes, I was fairly sure that was the answer, it was more of a "can't this be fixed?" thing. [05:59] way more efficient for it to be an immediate than to constantly reload from memory... [05:59] kylem: And yes, that's the "why". [05:59] morning [05:59] hey fabbione [05:59] KnowledgEngi: yes i am italian but please don't /msg me just for that :) [06:00] BenC: just saw your initramfs upload. thanks [06:00] i'm italian too [06:00] will test once it's in the local mirror [06:00] but my english is very bad [06:00] fabbione: no problem === infinity wonders how evil it would be to embrace and extend the smpalt stuff to rewrite the frequence at boot time. [06:00] for me is hard to explain the situation in english === infinity stops pondering that, realising the answer is almost surely "very". [06:00] infinity, extremely. [06:00] can i query you fabbione [06:00] ? [06:00] KnowledgEngi: what do you need? [06:01] he needs to rebuild the kernel with HZ=1000 [06:01] kylem: The only reason I'm pondering it at all is due to the frequency of people needing to change that.. Uhh.. Frequency. [06:01] exatly [06:01] and I pointed him to the URL in the topic, which led to the kernelBuild wiki page, whihc is where he needs to be [06:01] and why do you need to keep that in a query? [06:01] i whant that kernel and modules ar the same that i have now [06:01] infinity, HZ=1000 isn't really enough to give them low latency. [06:01] but the only dfifference that i need is the HZ [06:01] change it from 250 to 1000 [06:02] kylem: No, but it does help measurably. [06:02] KnowledgEngi: The KernelBuild wiki page you found is what you want [06:02] i do not like use make oldconfig [06:02] why don't the UbuntuStudio or whatever people ship one with the lowlatency patchkit anyway? [06:02] becouse he show me much question that i cannot answare [06:03] kylem: There was much talk of it during the dapper cycle. Not sure where it went. [06:03] becouse ubuntustudio have tha same problem [06:03] KnowledgEngi: There will be no questions if you follow the instructions [06:03] We even have userspace realtime stuff in glibc and pam, specifically for said group. [06:04] sudo apt-get install linux-kernel-devel fakeroot kernel-wedge kernel-package [06:04] from here ??? [06:05] KnowledgEngi: from the first line of the page [06:06] the firsth 2 part tall nothing about procedure [06:07] Disclaimer [06:07] Reasons for compiling a custom kernel [06:07] Reasons for not compiling a custom kernel [06:07] this 3 parts tall nothing [06:16] sudo apt-get install linux-source [06:16] this are the same sources of ubuntu edgy kernel ?? === Lure [n=lure@clj46-234.dial-up.arnes.si] has joined #ubuntu-kernel [06:28] sudo apt-get install linux-source [06:28] sudo -xvjf linux-source-2.6.17.tar.bz2 [06:28] cp /boot/config-2.6.17-10-generic linux-source-2.6.17/.config [06:28] this is correct?? [06:29] becouse this page speack about arch/.... === johanbr [n=j@d154-20-238-192.bchsia.telus.net] has joined #ubuntu-kernel [06:52] http://rafb.net/paste/results/MTGUMG60.html [06:52] is correct ?? [06:53] this is all command that i writed in the terminal for build a kernel adding a option in the configuration [06:53] i'm not totally sure that is correct === rikai [n=rikai@unaffiliated/rikai] has joined #ubuntu-kernel === fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-kernel === dade` [n=dade@nectarine/admin/dade] has joined #ubuntu-kernel [08:03] BenC: i am looking at that kmap_atomic OOPS [08:03] it's intersting piece of code [08:04] * However when holding an atomic kmap is is not legal to sleep, so atomic [08:04] * kmaps are appropriate for short, tight code paths only. [08:04] and libata is a client for it [08:04] pata_via does nothing there [08:04] so i wonder if pata_via does actually takes too long and make things go south [08:04] the BUG(); there is very specific [08:12] where is the default config file in the kernel development git tree ? [08:15] debian/config/$arch/config{,$flavour} [08:16] thx === anibal [n=anibal@debian/developer/anibal] has joined #ubuntu-kernel [08:37] include/asm/byteorder.h:5:28: error: linux/compiler.h: No such file or directory [08:37] is normal ??? [08:38] http://rafb.net/paste/results/c4LYkw68.html === Keybuk [n=scott@quest.netsplit.com] has joined #ubuntu-kernel [08:47] fabbione: I don't understand the config.generci has only few values set. [08:47] generic [08:48] dade`: cat config config.generic > .config [08:48] KnowledgEngi: yes normal [08:48] fine [08:49] sudo dpkg -i linux-image-2.6.17-2-ef427c-k7_2.6.17-2.2_i386.deb [08:49] sudo dpkg -i linux-headers--2.6.17-2-ef427c-k7_2.6.17-2.2_i386.deb [08:49] in what path i must run this commands? [08:50] root@ubuntu:/usr/src/linux-source-2.6.17# [08:50] here? [08:51] root@ubuntu:/usr/src# ls *ubuntu* [08:51] linux-doc-2.6.17.13-ubuntu1_2.6.17-10.33_all.deb [08:51] linux-headers-2.6.17.13-ubuntu1_2.6.17-10.33_i386.deb [08:51] linux-image-2.6.17.13-ubuntu1_2.6.17-10.33_i386.deb [08:51] linux-manual-2.6.17.13-ubuntu1_2.6.17-10.33_all.deb [08:51] linux-source-2.6.17.13-ubuntu1_2.6.17-10.33_all.deb [08:51] linux-source-2.6.17.13-ubuntu1_2.6.17-10.33_i386.changes [08:51] mmmm [08:52] aa dpkg -i is for install [08:52] :P [08:53] fabbione: is there a doc where all those lame questions are answered ? :) [08:53] fabbione, did you see the procedure in the file that i pasted? [08:53] dade`: usually if you don't know the answers, it means you shouldn't be compiling your own kernel [08:54] KnowledgEngi: no. i don't have time to babysit custom kernel builds. sorry [08:54] is just some line [08:54] I thought it was that way, but was just guessing.. [08:54] http://rafb.net/paste/results/c4LYkw68.html === JanC [n=janc@lugwv/member/JanC] has joined #ubuntu-kernel [08:55] hello JanC [08:55] can you tall me if this small procedure is ok? [08:55] http://rafb.net/paste/results/c4LYkw68.html === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has joined #ubuntu-kernel [09:10] hello :( [09:11] kernel panic: not syncin, unable to mount root on fs ..... [09:11] http://rafb.net/paste/results/NS8Tpk66.html [09:11] i think that it's a problem initrd related === mjg59_ [n=mjg59@cavan.codon.org.uk] has joined #ubuntu-kernel === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has joined #ubuntu-kernel [09:48] mkinitramfs -o /boot/initrd.img-2.6.17-13-ubuntu1 [09:48] i adjusted the menu.lst [09:49] but when i reboot i see the ubuntu presentation [09:49] and STOP [09:51] http://rafb.net/paste/results/5R0GpE33.html [09:53] when the system print "ubuntu" in the monitor it do not continue === marcin_ant [n=marcin@aim178.internetdsl.tpnet.pl] has joined #ubuntu-kernel [10:15] the kernel config file is needed only for build the kernel ??? [10:15] or is needed for working good too? === ivoks [n=ivoks@ubuntu/member/ivoks] has joined #ubuntu-kernel [10:24] idea, i remove splash from menu.lst [10:24] and i look the errors [10:24] by === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has joined #ubuntu-kernel [10:43] hello [10:43] now i has see the error deleting splash from menu.lst [10:43] http://rafb.net/paste/results/BrnMiE89.html [10:43] in the page there is the errors [10:54] BenC, can you help me please :( [10:54] i used the how-to in the topic [10:55] http://rafb.net/paste/results/FeSfGz78.html [11:06] make-kpkg buildpackage [11:06] the error was here [11:06] make-kpkg --append-to-version -1000hz --revision=1 kernel_image --initrd [11:06] someone suggest me this command === fabbione [i=fabbione@gordian.fabbione.net] has joined #ubuntu-kernel === zul_ [n=chuck@74.104.226.64] has joined #ubuntu-kernel === mjg59 [n=mjg59@cavan.codon.org.uk] has joined #ubuntu-kernel [12:20] BenC: are we really sure we want to go for libata?!?!? [12:20] http://www.spinics.net/lists/linux-ide/msg04744.html [12:20] drivers/ide IS STILL THE PATA DRIVER SET THAT USERS AND DISTROS SHOULD CHOOSE. <- === pmjdebruijn [n=pmjdebru@pmjdebruijn.xs4all.nl] has joined #ubuntu-kernel === KnowledgEngi [n=user@host-84-221-181-32.cust-adsl.tiscali.it] has joined #ubuntu-kernel [01:00] hello [01:00] the how-to was wrong [01:01] http://rafb.net/paste/results/t7YeAc68.html [01:01] now the kernel are not giving me problem [01:01] *are=is [01:03] KnowledgEngi, huh? you're not exactly clear... [01:05] https://wiki.ubuntu.com/KernelCustomBuild?highlight=%28CategoryKernel%29 [01:05] this how-to tall the i must do make-kpkg buildpackage [01:05] KnowledgEngi, yes, and your point is? [01:06] make-kpkg --append-to-version -1000hz --revision=1 kernel_image --initrd [01:06] this is better === gnomefreak [n=gnomefre@ubuntu/member/gnomefreak] has joined #ubuntu-kernel [01:43] BenC: so, I think ide-generic is broken ... [01:49] This is news? === pmjdebruijn [n=pmjdebru@pmjdebruijn.xs4all.nl] has joined #ubuntu-kernel [02:00] in the sense that it actually doesn't work at all [02:00] if you load it before the PCI driver, it claims the device (when it shouldn't!) but doesn't make block devices [02:08] is the -6 kernel a full kernel now? [02:08] Why should it not claim the device? [02:09] It'll grab all IDE interfaces that are running in legacy mode. That's what it's for. === imbrandon [n=imbrando@ubuntu/member/pdpc.active.imbrandon] has joined #ubuntu-kernel [03:06] but then it'll grab interfaces for which there's a better driver that just hasn't been loaded yet? === zul [n=chuck@ubuntu/member/zul] has joined #ubuntu-kernel [03:07] How is it to know? [03:08] blacklist of pci ids? [03:08] (it's also broken in the fact even when it loads, it doesn't expose any block devices -- but that's another story) [03:08] How would you generate the blacklist? [03:08] automatically [03:08] From what? [03:08] list of pci ids for which we do have drivers [03:09] And if the user builds a driver separately? [03:09] *shrug* [03:09] the fact is at the moment we can't load ide-generic [03:09] because it breaks systems for which there's a better driver [03:09] Because even if it's loaded after the other drivers, it may bind first? [03:10] because we don't have anywhere to load it to guarantee that it's loaded after the other drivers [03:10] and yes, there's a binding issue with libata [03:10] The driver is functioning precisely as designed [03:10] libata isn't as quick to bind as the old ide drivers [03:10] If this is causing problems, then we should figure out what to do with upstream [03:11] istr that ide-generic is deprecated in favour of something in libata [03:11] There's probably an identical module in libata which will have identical issues [03:11] there's fun games like two ide controllers in the machine, the one with the lower pci id needs ide-generic, the higher one has its own drier [03:12] which we can't deal with at the moment, because ide-generic steals both [03:12] It doesn't "steal". It does what it's asked to do. [03:12] I still think that driver binding is best off left to user space [03:12] loading modules makes drivers available, but it's up to userspace to bind to devices, etc. [03:12] Haven't we had this conversation before? [03:12] Like, before the dapper release? [03:12] I'm not going to argue against that [03:12] But given that ide-generic doesn't bind to PCI devices... [03:12] I was getting libata/ide-generic races on my laptop, and we worked around it then. [03:13] infinity: yeah, we put some hacks in place for dapper with ide-generic that we knew would break when this day occurred [03:13] surprisingly, they broke [03:13] Although, "ide-generic not exposing block devices" is new.. [03:13] right [03:14] I just got my stuff swapping between /dev/sd* and /dev/hd* depending on who won the race. [03:14] I wouldn't have caught (or immediately cared) the new winner of the race unless there was this other bug :) [03:15] You'd probably have cared when you noticed you had no DMA [03:15] probably, yes [03:16] pata_legacy is the replacement [03:16] right, and that specifically ignores PCI devices, iirc? [03:17] No [03:17] It doesn't scan ide0 or ide1 [03:17] ? [03:17] In legacy mode, IDE busses are found at specific ports [03:18] pata_legacy ignores the first two sets of these [03:18] right [03:18] why does it do that? [03:18] surely it needs to look at them for ISA ide devices? [03:18] * Right now we do not scan the ide0 and ide1 address but should do so [03:18] * for non PCI systems or systems with no PCI IDE legacy mode devices. [03:18] ahh [03:19] Is there a timeframe on fixing that? [03:19] Well, it's trivial to make it behave like ide-generic again [03:19] doesn't it also explicitly iterate the PCI bus, looking for PCI devices? [03:20] Oh, actually, the comment appears to be wrong [03:20] yeah [03:20] I was reading the code [03:20] the code looks like it only ignores ide0 and ide1 if there's a PCI ide controller [03:20] It'll skip ide0 and ide1 iff it's found a PCI device at those addresses [03:20] 858 if (pci_resource_start(p, r) == 0x1f0) [03:20] 859 primary = 1; [03:20] 860 if (pci_resource_start(p, r) == 0x170) [03:20] 861 secondary = 1; [03:21] And unless you pass it a magic option, it'll ignore anything after ide1 [03:21] So loading it would be a noop on most systems [03:21] of course, Ben doesn't appear to have compiled this ;) [03:21] Well, given that it'd be a noop on any PCI systems... [03:22] Christ, you can tell this driver was written by Alan [03:22] we still want it for non-PCI systems though? [03:22] Yeah [03:22] . o O { if only we could declare "feisty is for PCI only, HA HA" } [03:22] I guess we might support, ooh, 3 or so of those? [03:23] I'd be surprised if anything booted on non-PCI, frankly [03:23] but I've generally tried not to break things === infinity makes a mental note not to upgrade his parents' machine to a modern Ubuntu... [03:23] So the issue then is that we won't drive any PCI adapters unless we have a specific driver for them [03:23] Well, they run monolithic kernels anyway, but still... [03:23] mjg59: that's fine though, because libata has a generic ata thing for those adapters, no? [03:24] No? [03:24] modinfo ata_generic [03:24] which backs off if a better driver gets loaded [03:24] Oh, I'm looking in an excessively old kernel tree [03:24] (my laptop is driving with ata_generic today -- so I know it works ) [03:24] Let me finish pulling down 2.6.19 [03:25] 11 * Driver for PCI IDE interfaces implementing the standard bus mastering [03:25] 12 * interface functionality. This assumes the BIOS did the drive set up and [03:25] 13 * tuning for us. By default we do not grab all IDE class devices as they [03:25] 14 * may have other drivers or need fixups to avoid problems. Instead we keep [03:25] 15 * a default list of stuff without documentation/driver that appears to [03:25] 16 * work. [03:25] the first bit of that comment is a lie [03:26] alias: pci:v*d*sv*sd*bc01sc01i* [03:26] :p [03:26] Oh [03:27] That's just the same as pci/generic.c [03:27] It doesn't help in the case of new hardware appearing [03:27] ? [03:27] Well, again assuming that the comment has any relation to reality [03:27] (Which, as we've already seen, may not be a good plan) [03:28] It'll load for all IDE class devices, but only bind if they hit the built-in whitelist [03:28] that can't be true, because it's loaded on my laptop [03:28] which isn't in the whitelist [03:28] Are you sure it's bound? [03:28] *confused* [03:28] well, I can't see any other driver [03:28] Can you stick lspci somewhere? [03:28] Uh, lsmod [03:29] oh, wait, alim15x3 ... laptop is still using the old non-libata driver [03:30] so right, we have the general problem of new hardware that we don't have a driver for, or at least the pci id for, appearing and failing to boot because there's no IDE driver and no "generic" driver to claim it? [03:30] Yes [03:31] we'd need to set all_generic_ide=1 or something [03:31] But then it'll bind to everything, even if there's a better driver [03:31] yeah [03:32] we could make it a kernel option, then at least we can document it :) [03:32] I guess you could poke bind/unbind stuff [03:32] But yeah, I'm happy with the idea of just disabling ide-generic and having initramfs pass all-generic-ide to the ata_generic module if the user supplies it on the kernel boot line [03:33] Then users with excessively bling hardware can just add that boot option at install time [03:33] I wonder how often new IDE controllers come out these days [03:33] (that aren't SATA) [03:33] Several in the past few months [03:33] Things will probably settle down again now [03:34] Intel took PATA out of ICH8 [03:34] I guess I also need to kick Ben, most of the libata modules aren't compiled :p [03:34] We also need all the latest pata patches from -mm and anything that Alan has posted to LKML lately [03:34] *nods* [03:34] Otherwise a moderate number of them will cause corruption over suspend/resume [03:35] http://www.spinics.net/lists/linux-ide/msg04744.html [03:35] drivers/ide IS STILL THE PATA DRIVER SET THAT USERS AND DISTROS SHOULD CHOOSE. <- [03:35] ^^ [03:35] this was a quote from Jeff for .19 [03:35] Yes. We're not shipping .19. [03:36] mjg59: no matter if we land for .20 we are still with .19 for a while [03:36] Someone has to test this code in the real world. It might as well be us. [03:36] We can revert with approximately no effort. [03:37] right, but it would be wise to coordinate with upstream before even entering a testing phase [03:37] and i don't think that has been done [03:37] we've been testing libata for 6 months now [03:38] Keybuk: libata doesn't seems to be the primary issue [03:38] then what is? [03:38] I'm all for us ironing out the wrinkles while we're still ages away from another LTS. [03:38] Keybuk: the drivers using it. [03:38] And, hey, now that we have kyle on staff, we have a kernel rock star, so it's all good. [03:39] Keybuk: see 72824 for example [03:39] some of the drivers using it are clearly better than the ide ones [03:39] Most of the drivers are fine [03:39] And it's actually practical to fix bugs in them, unlike drivers/ide [03:39] we shipped edgy preferring some libata pata drivers over the old ide subsystem [03:41] mjg59: interesting, I loaded ata_generic with all_generic_ide=1 and it hasn't actually picked up my card [03:42] it found the ide ports, bitches a lot about a port being "too slow", and then stays loaded with no interfaces [03:42] I did get a /dev/sg0 [03:42] oh, heh [03:42] need sd_mod [03:43] hmm, that should've auto-loaded ... wonder why it didn't [03:45] ahh [03:45] udev rules bug :) [03:54] ok, that all works [03:54] my laptop boots happily with ata_generic if forced [03:54] and the UUID stuff transitioned it nicely too [03:54] sweet. [03:55] happily nobody with a SCSI or SATA card tried upgrading udev this afternoon [04:00] Keybuk: Excellent [04:01] Keybuk: So we just need initramfs-tools to pass that through if the user provides it [04:01] yeah [04:01] mdz has a general "I want some way of forcing a driver bind" desire which came out of some s3kr3t meeting at UDS [04:01] so I may do it with that [04:02] unless I carry on stamping my foot about how irritatingly impossible it is to do this [04:06] I wonder how much traction upstream a "binding in user space" patch would get [04:10] Keybuk: me, kyle, and ben discussed that very thing in SFO. [04:10] (userspace binding, that is) [04:14] it makes some amount of sense [04:14] if userspace got to decide which module got which device, we'd have a lot less problems [04:14] Indeed. [04:14] We discussed some rationale, and some hand-wavey "how could we do this", but didn't actually talk implementation. [04:15] you'd need to sort out the distinction between modules and drivers [04:15] But the general idea seems sound. [04:15] It is, sadly, not workable in certain cases [04:15] so that device binding is either done at the module level (in which case drivers go away), or drivers become a first class object with uevents, etc. [04:15] For instance, the PCI dev table can have a pointer to a structure in the data field [04:15] and then have external tables that udev can look up whenever a device is added, or driver/module added, and mate the two [04:16] right [04:16] the special casing [04:16] Yes [04:16] it doesn't prevent anything [04:16] it just means the special casing lists and the supported device lists become different [04:16] It would need some rewriting of certain modules [04:16] sure [04:17] in fact, all modules would need the device table removed and a .inf file written [04:17] Keybuk: can you summarize ide-generic so I don't have to read all this scrollback :) [04:18] BenC: ide-generic is broken, if you load it, you don't get any block devices [04:18] and it's loading too quickly because of some other changes, and stealing the PCI devices [04:18] so I've disabled loading entirely [04:18] FTW we appear to need to load pata_legacy (not yet compiled) for non-PCI interfaces, which doesn't steal [04:19] and have an option to force ata_generic to take devices it's unaware of, so people with unknown IDE interfaces can still boot [04:19] known, was going to work on it when I got the box that elmo sent me from UDS [04:19] tbh, if pata_legacy and ata_generic dtrt (which they appear to), I'm tempted to remove ide-generic entirely and sing a little song about it [04:19] pata_legacy is marked "dangerous" IIRC [04:20] let me check again [04:20] I disagree that ide-generic is broken, but would concur that we shouldn't be trying to load it by default [04:20] mjg59: well, it's working according to its design [04:20] Keybuk: How about leaving ide-generic built, and have a boot option that force-loads it? [04:20] I'd be happy with just not loading it unless someone wants it loaded [04:20] yes, I'd be happy with that [04:20] It has no modalias entries [04:21] sounds like a plan to me [04:21] ubuntu-2.6 is the 2.6.19 branch, right? [04:21] but ONLY if there's something in the installer to recoginize that and marshall it into the installed system [04:21] mjg59: Right [04:21] BenC: the installer could pick up the same option from its own boot? :p [04:21] If it's passed at install CD time, it'll be put on the installed system [04:22] we should probably decide whether we prefer pata_legacy/ata_generic or ide-generic [04:22] Keybuk: I meant so the user didn't have to add it manually after installing :P [04:22] BenC: There /should/ be no cases where ide-generic is necessary [04:23] Keybuk: pata_legacy = ide-generic. ata_generic = drivers/ide/pci/generic [04:23] Just to make things confusing [04:23] heh [04:23] which did the latter get exposed as? [04:23] generic.ko [04:23] ah yes [04:23] of course [04:23] pata_legacy has the bonus over ide-generic that it doesn't bind to ide0 or ide1 if there's a PCI device with those addresses [04:24] Yes [04:24] (I wonder why ide-generic doesn't do the same thing) [04:24] Because, erm. [04:24] LOOK, A THREE HEADED MONKEY [04:24] mjg59: The case where we have a ide device with no driver (like marvell currently is in edgy/dapper) [04:24] BenC: We should be using generic for that, not ide-generic [04:24] That way they get DMA [04:24] generic needs entries in it still [04:24] Not if ide-all-generic is passed [04:25] modprobe ata_generic all_generic_ide=1 [04:25] (this can be trivially written into a modprobe.d options file) [04:25] Anyway, we have a marvell driver for feisty [04:25] yeah, but I need to backport it for edgy and dapper [04:26] Heh [04:26] Or just add the entries to generic.c [04:26] might as well add the proper driver :) [04:27] Keybuk: Check this out: [04:27] "Also modprobe will be built into udev to solve the [04:27] performance-problems we see with parsing the modprobe-files for every [04:27] device with a modalias." [04:27] Keybuk: interested in building modprobe and udev together? :) [04:28] BenC: ref? [04:28] I've been bitching about that for some time [04:28] I even had a patch for it for a while === Keybuk finds the thread [04:33] interesting how several people seem to be having the same idea entirely independently (user space binding) [04:33] yeah [04:33] I still think the idea of allowing the kernel to bind without interference is bad, forcing us to ubind/rebind [04:33] being able to just edit modules.alias, add a couple of new lines, and have things just work(tm) would be sweet [04:34] I still don't see how kay has managed to get bind/unbind to work [04:34] I have the SuSE rules here, and it doesn't use them [04:34] the biggest problem is the humongous race between udev getting the add@/module/... and the bind/unbind thing actually appearing [04:35] (not to mention futzing from a module to a driver) [04:36] if we had driver uevents, it would be a sinch [04:36] * refs/heads/origin: does not fast forward to branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bcollins/ubuntu-2.6; [04:36] it would be nice if we could muck with the driver's table after it was loaded [04:36] What does that /mean/? [04:36] SUBSYSTEM=="driver", ACTION=="add", some_thing_to_get_the_list_of_devices, SYSFS{bind}="$devices" [04:37] mjg59: It means that ubuntu-2.6 is not the same base tree as when it was in edgy...re-clone [04:37] Grngh. [04:37] mjg59: we'll be syncing right along into 2.6.20, fyi [04:37] Cool [04:41] BenC: so, thinking about this a bit more [04:42] the first step would be to at least get race and ambiguity free access to the bind/unbind bits of a driver [04:42] so when a module loads, or a device gets added to a bus, we can poke bind with the bus id [04:42] (I assume that overrides the table lookups?) [04:42] that way we could take advantage of it immediately by just excluding troublesome PCI ids, and having a udev rule to make the decision [04:43] if kay has nih'd my udev modprobe patch, this would be yawningly easy [04:44] (aside from the necessary kernel hacking) [04:44] moo. [04:44] (nvidia/nvidia-legacy, prism, etc. spring to mind as immediately useful test cases) [04:45] kylem: open up a box of milk and won? [04:45] and that bt878 thing [04:45] i always win. [04:46] if we have success there, we can then just wholesale flip everything to use userspace for the binding [04:48] I have a bt878 card too, so I can test that case [04:52] right now we get uevents when a device is added to a bus [04:52] that uevent contains enough information to make a decision as to which modules can handle that [04:53] and probably also has enough information for us to decide which of two competing modules to use (e.g. we can look at a config file on the filesystem, if all else fails) [04:53] indeed, that is how we load modules today [04:54] we also get a uevent when a module is loaded into the kernel [04:57] the problem is we get this uevent at the wrong time, it appears to get generated before the module's init function is called [04:57] so before any of the module's drivers are registered [04:57] additionally, devices are bound to drivers, not to modules [04:57] and we get no uevents for drivers [04:58] also there's no way to get from a module to its drivers (just the other way around, due to a hacky symlink) [04:58] that'd be the first thing to fix [04:58] 1) get from module to drivers and back again easily [04:58] 2) uevents when drivers are registered and unregistered [04:59] this patch would be sufficiently subtle and useful that it'd probably get accepted [04:59] that'd give us the ability to write a udev rule that directly poked bind or unbind at the driver leve [04:59] +l === ivoks [n=ivoks@ubuntu/member/ivoks] has joined #ubuntu-kernel [05:21] hmm. [05:21] ? [05:23] definitely a conversation killer [05:23] so basically you want a uevent when the module is finished running it's init section? [05:24] and the unload/finish section. [05:25] to be honest, I'd rather have uevents when the drivers were registered [05:25] that's far more fitting [05:31] I wouldn't have thought that would be too difficult [05:32] Keybuk, i can try cooking a patch in my off time [05:34] mjg59: willy came up with the problem that modules register multiple drivers with the same name [05:35] so /sys/module/$MODULE/$DRIVER wouldn't work :-( [05:35] Is kernel.org fucked right now? [05:35] Keybuk: Yeah, there's going to have to be a bus component to it [05:35] mjg59, www1 is [05:35] use www2.kernel.org [05:35] kylem: I could probably argue for doing this in your on time, if you wanted :p there's a spec for this === dade` [n=dade@nectarine/admin/dade] has joined #ubuntu-kernel [05:35] Keybuk, in that case, i'd like that [05:36] if drivers had kobjects that sat under the module, with the bus name salted in, that would rock [05:36] then /sys/bus/pci/drivers could be just a list of symlinks :p [05:36] https://launchpad.net/distros/ubuntu/+spec/new-pci-ids === jbailey [n=jbailey@d64-180-16-82.bchsia.telus.net] has joined #ubuntu-kernel [05:36] BenC: Around? [05:36] hey jeff [05:36] Heya chuck! [05:37] loadavg is like 500 on www1. heh. [05:39] (note that mdz's brain dump in the whiteboard utterly does not work) [05:39] for a start, his knowledge of module loading is a year out of date... modules.pcimap, sheesh, crusty! [05:40] i didn't realize it had changed [05:40] kylem: Yeah. Inthe new udev/sysfs world, there's some really cool hacks. [05:40] every ubuntu release up to dapper loaded modules differently [05:41] nowadays, the kernel generates a MODALIAS string (pci:vBLAHdBLAH...) that describes the device and places that in the uevent [05:41] that matches wildcard strings in the module alias table [05:41] ah. [05:41] so whenever we get a uevent with a MODALIAS, we just call modprobe on it [05:42] this is likely to change in feisty, or feisty+1, as udev is getting modprobe built in to save time [05:42] so udev will load the module directly [05:42] spiff. thanks. [05:42] Byebye modules-init-tools finally? [05:42] given this, it'd be a piece of piss to do user-space binding if we can fix the issue outlined above [05:43] SUBSYSTEM=="pci", ATTR{vendor}="8086", ATTR{device}="1234", BIND="some_module" [05:43] some_driver, sorry [05:44] Keybuk: what's the difference between a driver and a module? [05:44] Mithrandir: modules contain drivers [05:44] jbailey: yeah [05:44] drivers are per-bus, and contain tables of devices which they are bound to [05:44] multiple drivers, possibly... [05:44] e.g. [05:45] /sys/bus/pci/drivers [05:45] /sys/bus/pci/drivers/nForce2_smbus [05:45] for one, drivers don't always match the name of the module [05:45] /sys/bus/pci/drivers/nForce2_smbus/module -> /sys/module/i2c_nforce2 [05:45] which for most modules really sucks [05:45] BenC: right, and sometimes modules have multiple drivers with the same name, just on different buses [05:46] yeah, the continuity there needs some help [05:46] that wouldn't be bad if the driver had a kobject under the module though, so we could do /sys/module/i2c_nforce2/pci -> /sys/bus/pci/drivers/nForce2_smbus or something [05:46] Keybuk: ah, ok. [05:47] (that assumes a module doesn't contain multiple drivers with different names on the same bus ... I suspect there's an example of that too ) [05:47] if it's possible, I'm sure we have it :) [05:47] Keybuk: Yeah, it may have to be /sys/module/i2c_nforce2/pci/i2c_nforce2 -> /sys/bus/pci/drivers/whatever [05:47] mjg59: which wouldn't be so bad [05:48] and at that point, you could just have /sys/module/i2c_nforce2/pci/nForce2_smbus/bind [05:48] and make /sys/bus/pci/drivers/* a symlink to /sys/module/$MODULE/$BUS/* [05:48] Yeah [05:48] Except in the cases where it's not a module [05:48] can you have drivers outside of modules? [05:49] Keybuk: would it be feasible for udev to have a mechanism with the kernel to where it could get a "add device" notification and somehow keep the kernel from performing binding on that device? [05:49] Do statically built in things still appear under /sys/module nowadays? [05:49] Keybuk: Yeah, platform drivers for instance [05:49] of, of course [05:49] mjg59: No, which sucks [05:49] Also, what Ben said [05:50] BenC: not sure it'd be worth the effort ... we could experiment at first by just removing duplicate pci ids, and doing the bind by hand from udev [05:50] it may make sense to have a /sys/kernel/never_bind or something [05:51] Keybuk: Do you know if the kernel sends an "device add" prior to binding with a driver? [05:51] BenC: it sends it before the actual bind, yes [05:51] but it's sent via netlink, so no knowing when udev actually gets to it, and gets to reply [05:51] does the kernel honor any sort of return values from udev? [05:51] no such thing [05:51] the kernel doesn't even know udev is listening [05:52] ok [05:52] it would be nice if we could export a driver->module mapping [05:53] yes [05:53] pitty there isnt a kudev [05:53] as of now, it's only known after the module is loaded [05:53] zul: ? [05:53] KDE version? [05:53] in kernel udev!?!? [05:53] lol [05:53] yeah [05:53] the whole point of udev is to do things in userspace [05:53] gudev, so that and try not to laugh [05:53] where we can make the big decisions, using things like config files and stuff [05:54] s/so/say/ [05:54] ludev [05:54] pudev [05:54] ANYWAY [05:55] Keybuk: We need to get together on this whole driver binding thing to figure out the best way to do what I want with driver-module-manager [05:56] I really want to avoid the part where the kernel binds with "whatever driver" and requires udev to ubind/bind to the correct one [05:56] heh [05:57] I know it's a bit of a corner case, but without it, the whole idea of managing drivers seems pointless [05:57] and it also makes it harder to do things like driver updates from ihv's [05:58] there are cases where unbinding just isn't as nifty as it sounds [05:58] BenC: I agree [05:59] unbind-then-bind sucks [05:59] plus it just doesn't work atm [05:59] I need to test the bind/unbind [05:59] driver-module-manager? [06:01] the problem with unbind/bind is there's nowhere useful to do it right now, as you race [06:02] ideally when a device is added, we'd look up the driver it needs and which module that's in -- if the module is loaded, we'd poke the driver's bind directory -- if the module is not loaded, we'd load it [06:02] and then when a driver is added, we'd iterate the bus looking for any devices we can bind to it, and do the binding === anibal [n=anibal@debian/developer/anibal] has joined #ubuntu-kernel === dade` [n=dade@nectarine/admin/dade] has joined #ubuntu-kernel === dade` [n=dade@nectarine/admin/dade] has joined #ubuntu-kernel === Lure [n=lure@clj46-234.dial-up.arnes.si] has joined #ubuntu-kernel [07:37] heh http://www.patentstorm.us/patents/7028023-fulltext.html [08:26] has anyone tried building the vmware modules on 2.6.19 besides ajmitch [08:28] meh...ill give it a shot tonight [08:36] lrm is built against 2.6.19, but there's a small fixup needed [08:36] ill try sending a patch.. [08:36] or wait until vmware sends one [08:37] BenC: like? I'm wanting vmware server running again, it had issues with CHECKSUM_HW [08:37] is the same problem in the vmware player modules? [08:37] CHECKSUM_HW has disapeared in 2.6.19 if i recall [08:37] s/CHECKSUM_HW/CHECKSUM_COMPLETE/ [08:37] that's the fixup I was talking about [08:37] ill send you a patch [08:38] ok === tuxmaniac [n=aanjhan@unaffiliated/tuxmaniac] has joined #ubuntu-kernel [08:50] BenC: thanks, it's working now (once I removed a reference to config.h as well) [08:51] yeah, that's the other one === dade` [n=dade@host22-147.pool8250.interbusiness.it] has joined #ubuntu-kernel === gasbag [n=gasbag@68-189-241-88.dhcp.oxfr.ma.charter.com] has joined #ubuntu-kernel [09:42] kylem: for that hang on amd64 im working on an update === rikai [n=rikai@unaffiliated/rikai] has joined #ubuntu-kernel === rikai [n=rikai@unaffiliated/rikai] has joined #ubuntu-kernel === rikai [n=rikai@unaffiliated/rikai] has joined #ubuntu-kernel