Hi Doug, On Mon, Dec 7, 2020 at 11:15 PM Doug Anderson <dianders@xxxxxxxxxxxx> wrote: > On Mon, Dec 7, 2020 at 1:55 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > On Mon, Dec 7, 2020 at 9:23 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > > On Tue, Dec 1, 2020 at 3:06 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote: > > > > On Tue, Dec 1, 2020 at 12:39 PM Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > > > > > So, I think we have two options. If people are willing to move to > > > > > "disk labels" or to patch their DTBs with mmc aliases, things can stay > > > > > as is. Otherwise, we can revert the async probe parts of the mmc host > > > > > drivers, but that would still leave us in a fragile situation. > > > > > > > > Can you reliably detect whether the mmc aliases in the dt exist? > > > > If that's possible, maybe the async flag could be masked out to only have > > > > an effect when the device number is known. > > > > > > IMHO DT aliases are not a proper solution for this. > > > > > > Yes, you can detect reliably if an alias exists in the DT. > > > The problems start when having multiple devices, some with aliases, > > > some without. And when devices can appear dynamically (without > > > aliases, as there is no support for dynamically updating the aliases > > > list). > > > > Actually you hit a problem earlier than that: the async probe is a > > property of the host controller driver, which may be a pci_driver, > > platform_driver, usb_driver, or anything else really. To figure out > > whether to probe it asynchronously, it would have to be the driver > > core, or each bus type that can host these to understand which > > device driver is responsible for probing an eMMC device attached > > to the host. > > From what I've seen so far, my current thought on this issue is that > it's up to Ulf as the MMC maintainer what the next steps are. For me, > at least, his argument that MMC block numbers have already shuffled > around several times in the last several years is at least some > evidence that they weren't exactly stable to begin with. While we > could go back to the numbers that happened to be chosen as of kernel > v5.9, if someone was updating from a much older kernel then they may > have different expectations of what numbers are good / bad I think. > > I will also offer one possible suggestion: what about a KConfig option > here? In theory we could add a KConfig option like > "CONFIG_MMC_LEGACY_PROBE" or something that. One can argue about what > the default ought to be, but maybe that would satisfy folks? If you > were happy giving up a little bit of boot speed to get the v5.9 block > numbers then you could set this. This is not limited to MMC. The same is true for sdX, ethX (e* these days), ttyS*, i2cX, spiX, ... The rule has always been to handle it by udev, disklabels, ... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds