putation code between check and commit doesn't get out of sync. > > > >> As for the rest, I hear you and appreciate your feedback. Let me get back to > >> you on that later. > > Just an added note on that: I do think that there's some driver teams > > who've managed to pull a shared codebase between validation and upstream > > linux (iirc some of the intel wireless drivers work like that). But it > > requires careful aligning of everything, and with something fast-moving > > like drm it might become real painful and not really worth it. So not > > outright rejecting DC (and the code sharing you want to achieve with it) > > as an idea here. > > I used to have examples of such a things for other network drivers as > well, but right now I can't find them of hand. Leave me a note if you > need more info on existing things. > > A good idea might as well be to take a look at drivers shared between > Linux and BSD as well, cause both code bases are usually public > available and you can see what changes during porting and what stays the > same. Although their core drivers are tightly the coupled with a given OS, the Chelsio 10GigE and Intel ethernet drivers in general have large amounts of platform agnostic code coupled with a fairly minimal OS abstraction layer. I don't know how analogous to DAL/DC this is. However, I will say that the Chelsio driver was an order of magnitude easier to port to FreeBSD and the end result much better than Solarflare's which felt obliged to not have any separation of concerns. -M