10 ms·
It sounds like the pause/unpause might be the way to fix this properly, since trying to be heuristically smarter sounds like a recipe for never-ending corner ca
by nneonneo 4y ago
It sounds like the pause/unpause might be the way to fix this properly, since trying to be heuristically smarter sounds like a recipe for never-ending corner case bugs like the OP’s issue.
The patch for pausing and unpausing seems quite reasonable, except that it does require driver support (unsurprising - you’re literally reallocating the resources used by the driver!). I suppose if you had at least a few movable devices then you should be ok in the event of a hotplug event, so you’d have to hope that enough drivers bother to support the feature.
I wonder what is necessary to get people to care about the patch enough to fix it up and mainline it? I suppose the problem it fixes is still niche enough that not so many people are clamoring for the fix.
- AnIdiotOnTheNet 4y agoWhat is the point in having all of the drivers be open sourced and mainlined if we're not willing to fix them to support this?
- blueflow 4y ago
- jodrellblank 4y agoYou are free to comment on the question raised, instead of a dismissive empty ad-hom.
- arghwhat 4y agoWhile tongue in cheek, the answer is accurate: open source does not mean "free service contract", it means that you can take the code and modify yourself (and preferably upstream the fix). Patches come both from vendors and users experiencing an issue. Vendors take care of most things, but for esoteric problems you might only have a handful of people experiencing it. The vendor is unlikely to care, so if you do not write the patch or pay someone to do it, who will? Still better than the competition, where such problems will never be fixed unless it generates sufficient bad PR...
- jodrellblank 4y agoYou're doing the same thing, dragging the original conversation off into berating the commentor for not fixing it themselves because you owe them nothing and they shouldn't be so entitled. > "Still better than the competition, where such problems will never be fixed unless it generates sufficient bad PR..." The competition comes under "pay someone else to do it".
- elsjaako 4y agoWhat OS are you using where you can get the vendor to implement kernel features to fix obscure driver issues? I'm sure there's an amount of money you can throw at Microsoft to get something done. I don't know how much it is, but I'm guessing it's more than it would cost to find a vendor to do it for Linux. The serious answer to " What is the point in having all of the drivers be open sourced and mainlined if we're not willing to fix them to support this?" is "There are many points to this, but one of them is that it's possible to fix them to support it, if someone wants to put in the effort. It's worth something that it's theoretically possible if you really need it, even if no one else has done it yet.". The answer "You can do it yourself" is meant to help them understand "Anyone can do it, someone needs to step up to the plate. But it's also true that it costs resources. If you're wondering why no one else has done it yet, it's the same reason you haven't done it yet".
- fragmede 4y agoWith enough money you can get that kind of support from any Linux vendor, eg RedHat or Oracle.
- arghwhat 4y ago> You're doing the same thing, dragging the original conversation off into berating the commentor for not fixing it themselves because you owe them nothing and they shouldn't be so entitled. Ah, this argument again. Yeah, the maintainers owe you nothing, as they have already worked their asses off to give you something for free. You have the right to make polite bug reports and discuss fixes, but no one is entitled to force volunteers to do work. But, that is not the same thing as everyone having to fix their own shit. 100 million users does not need 100 million developers. What matters is that the users that have issues can fix issues, and if the issue affects enough people, it will eventually affect someone able and willing to fix it. That is why open source works, but it requires that some people put in the effort, and many learn to do it exactly when they get annoyed by a bug. So yeah, if you are not willing to wait for someone else to come around and volunteer to fix it, patch it yourself or pay someone else to do it. That's how the system works, regardless of how demeaning you feel this is to non-developers or developers that feel that their time is more valuable than that of others. > The competition comes under "pay someone else to do it". Sure, if you have enough money to convince Apple or Microsoft specifically to prioritize fixing your issue (which may be in an unsupported or deprecated configuration) above what else they were doing, which would cost a whole lot more than just engineer and manager time. You have no alternative, as only your specific vendor can make the fix. Realistically speaking, if you had that kind of money you probably already have employed engineers that you could get to fix your open source issues for you and would not be arguing on hacker news about the need to write patches. For open source, you don't have to convince anyone in particular. Can't convince the first person you try with money? Just ask the next person, anyone can submit the patch.
- deleted 4y ago[deleted]
- mijoharas 4y agoI wouldn't exactly call the comment you're replying to an ad hominem attack.
- jodrellblank 4y agoWhy not? You don’t think it changes the topic from being about the content of the comment (open source drivers) to being about the person who wrote the comment (what they should and shouldn’t be permitted to say based on how much they paid or didn’t pay)?
- blueflow 4y agoIf the problem lies in the entitlement of a person, an appropriate response is going to be an ad hominem, and rightfully so.
- jodrellblank 4y agoYou have not shown any signs of this spectre of entitlement haunting your every comment. If you had, an appropriate response would be educational, helpful, or perhaps a link to Rich Hickey's Gist[1]. By your comments, it would be appropriate to ad-hom you now for your apparent entitlement to controling other people's speech about OSS, right? [1] https://gist.github.com/richhickey/1563cddea1002958f96e7ba9519972d9 https://gist.github.com/richhickey/1563cddea1002958f96e7ba95...
- blueflow 4y agoIts simpler: your attitude is bad, i told you off, you have no intentions to change your attitude, neither do i. And if thats "controling other people's speech" to you, then yes, your attitude is the problem. Realistically, i'm just some random dude on this forum, telling you off is the worst thing i can do to you. Enjoy your refund.
- jodrellblank 4y ago
- bee_rider 4y agoPossibly it is hard, tedious, or the people able to fix it don’t think it is worth the effort. Open source projects rely on volunteers mostly so it isn’t like there’s some outside force to appeal to. If nobody volunteers a solution, then it isn’t important enough to solve. The point is that, if it were important enough to fix, anybody with the requisite skills could do so.
- lostdog 4y ago> What is the point in having all of the drivers be open sourced and mainlined if we're not willing to fix them to support this? With open source and mainlined drivers, it's very difficult to change all the drivers and ensure they work. Without open source and mainlined drivers, it becomes impossible.
- planede 4y agoMaybe it can be introduced gradually, making the reallocation an optional feature that a driver might support. Then drivers can independently implement the resource reallocation feature. Mainline drivers can move gradually. If they want to be nice for out-of-tree drivers then they can describe a timeline for deprecating and removing the support for non-reallocating drivers.
- bombcar 4y agoWould a workaround be that whenever the kernel detects this happening (and it did, it dmesg printed it) that it somehow increases an internal counter so on next reboot there will be more resources? This would require the kernel being able to either update its own command line somehow, or having some permanent storage somewhere it could store it. Or this could all be done by systemd - detect that message, increase the resource, next reboot will fix it.
- smashed 4y agoKernel state does not survive reboots afaik. That would need help from userland, which is not involved in the early boot process. You could I guess change kernel init parameters and save that in your boot loader, but that is very hackish.
- l1k 4y agoThe PCI resource allocation code is fairly intricate and everyone is scared that changing it may cause regressions. Sergei's patch set is quite intrusive and it would be necessary to somehow break it up into smaller pieces that are slowly fed into mainline over several release cycles, always watching out for regression reports. So, the problem is known, but the engineers working on PCI code in the kernel are given higher priority stuff to work on by their employers, hence the issue hasn't gotten the attention it deserves. Actually I forgot to mention there's another solution: A PCIe feature called Flattening Portal Bridge (PCIe Base Spec r6.0 section 6.26). That was introduced with PCIe 5.0. It's more likely that FPB support is added in mainline than the pause/unpause feature. It's supported by recent Thunderbolt chips and it's an official feature of the PCIe standard, so companies will prefer dedicating resources to it rather than some non-standard approach.
- sylware 4y agoIn the dynamic use cases, the PCIe specs is kind of shabby on the addressing space: it is theorically fixed by FPB. I guess this is sorry for those niche hardware use cases. Isn't FPB into PCIe 4.0? (I am not a SIG member, cannot read the specs).
- sylware 4y agoI meant, I know about PCIe addressing (from the web, linux code, and a book I read years ago), but I cannot read the modern specific FPB specs.