Messages in this thread | | | From | "Luis R. Rodriguez" <> | Date | Wed, 10 Apr 2013 12:19:40 -0700 | Subject | Re: [PATCH 06/18] compat: backport ASYNC_DOMAIN_EXCLUSIVE() |
| |
On Wed, Apr 10, 2013 at 11:20 AM, Johannes Berg <johannes@sipsolutions.net> wrote: > On Wed, 2013-04-10 at 10:26 -0700, Luis R. Rodriguez wrote: > >> > I guess I'd have to review the async API, >> >> Yeap, reviewing the commit noted would help too. > > Yeah ... :) > >> > What's the use of just this when you don't have things like >> > async_schedule_domain() and async_synchronize_full_domain(), regulator >> > stuff wouldn't compile I think? >> >> You mean is not having the full asynch that deals with all registered >> domains likely to have an issue on the useres of >> async_synchronize_full_domain() ? Lets better ask Dan. > > I don't know. However it seems that in order to have an ASYNC_DOMAIN() > or ASYNC_DOMAIN_EXCLUSIVE() you always need to *do* something with it, > so for that you'd also need the functions async_schedule_domain() and > async_synchronize_full_domain() or similar, at least, no? > > The point here seems to be making boot faster by starting a bunch of > async probing inside a domain, and then you wait for the entire domain, > so everything that's in that domain can be done in parallel. > > Say for example you have 20 SCSI drives. If you look at them serially > then you'd waste much time waiting for the drives. The point here > appears to be that you create a domain (using this macro), then add all > the drives to the domain and then wait for the domain to finish. > > However, it seems entirely pointless to backport just a small part of > the API?
Oh I agree don't get me wrong, however porting kernel/async.c seems like a rather separate effort worth considering. As-is though I have not seen any negative impact though to keep older subsystems from compiling, ie its a no-op for older kernels as I see it.
Luis
| |