On Fri, Nov 07, 2008 at 12:17:22PM +0800, Matthew Wilcox wrote: > On Fri, Nov 07, 2008 at 11:40:21AM +0800, Zhao, Yu wrote: > > Greg KH wrote: > > >We've thought about this in the past, and even Microsoft said it was > > >going to happen for Vista, but they realized in the end, like we did a > > >few years previously, that it would require full support of all PCI > > >drivers as well (if you rebalance stuff that is already bound to a > > >driver.) So they dropped it. > > > > > >When would you want to do this kind of rebalancing? Before any PCI > > >driver is bound to any devices? Or afterwards? > > > > I guess if we want the rebalance dynamic, then we should have it full -- > > the rebalance would be functional even after the driver is loaded. > > > > But in most cases, there will be problem when we unload driver from a > > hard disk controller, etc. We can mount root on a ramdisk and do the > > rebalance there, but it's complicated for a real user. > > > > So looks like doing rebalancing before any driver is bound to any device > > is also a nice idea, if user can get a shell to do rebalance before > > built-in PCI driver grabs device. > > Can we use the suspend/resume code to do this? Some drivers (sym2 for > one) would definitely need to rerun some of their init code to cope with > a BAR address changing. Yes, that is what I was thinking. But after some grep on the PCI device drivers, I feel frustrated because all those drivers only do 'ioremap' once at the 'probe' stage. I believe this is the only problem that preclude us having the run-time resource rebalance. And I'm not sure how much effort we can fix it. Any comments? Thanks, Yu -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html