[PATCH]The idea about multi-threaded initcall

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you all for advice!

In fact, I also doubt about if it is necessary, and I tested the result of successful boot(about 50% chance...) with my old T41(PM1.6G). The original version run initcall take about only 4 seconds, and modified version(with all kinds of problems) also takes about 2 seconds -- even if it works very well, only 4 seconds was saved but a single line code would be extended to dozens or hundreds...

Greg's word remind me of that linux should be practical, and this method seems neither practical or simple. I will discuss it with my mentor several days later - for this week is Golden Week Holiday(Labor Day) in China...

Thank Pradeep for show me the Upstart!

But, um... I feel a little sorry... Tell the truth, the motive of writing this patch is I asked my mentor for something practical as the entrance to kernel development, and he got me this idea. Before writing this patch, I am only reading book, don't have realistic target...

Now, as you say, the real problem is out of kernel issue, so I may not continue with it. I checked Upstart, it seems good and I will try it later, but may not focus on it...

Anyway, thank you very much!

I may turn to my mentor for finding another thing I can start with. :-)

Thanks.



> >
> >  Thanks for the notice!
> >
> >  I am a new kernel developer(also a kernel newbie :-) ) and working on a
> >  multi-threaded initcall patch in order to speed up the boot stage now. This
> >  idea provided by my mentor.
>
> I don't think it will really speed up things, boot is still limited by
> I/O speed, not kernel startup execution speed.  I implemented
> multi-threaded device probing (which caused all sorts of problems and
> had to be ripped out in the end), and it only caused a very small
> increase in speed.
>
> To speed up boot time, you need to attack the issues _after_ init starts
> up, not before.

Yes, may be Yang Upstart is something you are looking for?
yes/no?

It is basically event based booting after init i guess but that is out
of the kernel issue i hope. here is the link upstart.ubuntu.com .

please CMIIW.

Thanks
~psr


>
> >  The basic idea is using kthread with initcall and register a
> >  wait_for_initcall() with xxx_initcall_sync() which introduced by Andrew
> >  Morton for multi-threaded probing <http://lkml.org/lkml/2006/10/27/157> used
> >  as barrier for each level.
> >
> >  I supposed the initcalls in same level can be run in parallel. I know this
> >  maybe not true, but I wrote this patch and tried.
>
> It is not true, there are a lot of dependencies on the link order of
> these initcalls.  You will run into troubles.
>
> Good luck,
>
> greg k-h
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>


--
play the game



--
regards,
Yang, Sheng

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux