Summary: | [patch] genkernel pauses for USB even when it does not need to | ||
---|---|---|---|
Product: | Gentoo Hosted Projects | Reporter: | Xake <kanelxake> |
Component: | genkernel | Assignee: | Gentoo Genkernel Maintainers <genkernel> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | sping |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 351772 | ||
Attachments: | Proposed patch for genkernel |
Description
Xake
2010-06-09 10:17:19 UTC
Created attachment 234685 [details, diff]
Proposed patch for genkernel
This patch removes the use of check_slowusb and FORCE_slowusb. Instead every sdelay (i.e. scandelay) has a check for doslowusb.
Also I am unsure if the sdelay in linuxrc was needed to begin with as start_dev_mgr starts with a sdelay for DO_slowusb, and an additional one for FORCE_slowusb, should that not be enough?
PS: Adding keyword "Inclusion" and "[patch] " prefix to better show this bug's nature in searches... Jake, in parallel Fabio has prepared an alternative patch to the same problem. Would his patch solve your problem? http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;h=e151596a03089e9863cbe99ff06e411d32f5a3bb Please note that: + if [ ! -d "${usb_storage_dir}" ] + then + return + fi should be removed or the logic of check_slowusb changed in order to always set FORCE_slowusb even when DO_slowusb is set. In this way, further queries to the slowusb mechanism can safely just reference FORCE_slowusb. (In reply to comment #3) > Would his patch solve your problem? As long as the patch does not take the fact that you got USB-storage subsystem loaded as a hint of making lots of pauses, then I am happy. By replacing sleep with echoes I found out that my system did not need any pauses to boot, but still did lots of them and many of them was from the slowusb logic. Good to see things happening to genkernel again!:-) Xake, feel feel to try sys-kernel/genkernel-99999 (five nines) which includes a few bits extracted from Fabio's earlier patch. http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;h=5f136adc14e52f729a6d06ef7cb660d33d5038c9 >>> Compiling source in /var/tmp/portage/sys-kernel/genkernel-99999/work/genkernel ...
make -j16 -l15
a2x --conf-file=doc/asciidoc.conf --attribute="genkernelversion=`/bin/fgrep GK_V= genkernel | sed "s/.*GK_V='\([^']\+\)'/\1/"`" \
--format=manpage -D . "doc/genkernel.8.txt"
/bin/sh: a2x: command not found
make: *** [genkernel.8] Error 127
emake failed
a missing dep and where do I find a2x?
(In reply to comment #7)> /bin/sh: a2x: command not found > make: *** [genkernel.8] Error 127 > emake failed > > a missing dep and where do I find a2x? Yes, sorry, that's asciidoc. + 07 Jan 2011; Sebastian Pipping <sping@gentoo.org> + genkernel-3.4.10.908.ebuild, genkernel-9999.ebuild, genkernel-99999.ebuild: + Add build dep on asciidoc for live ebuilds Ok, while taking a quick look at the pause, this thing I had but not the experimental branch. http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=blob;f=defaults/linuxrc;h=adaab62cb725657ccf04063350ce5dd0147f2ed1;hb=refs/heads/experimental#l289 Why sdelay for at least once second for everyone when even the comment says it is only for USB? Maybe make it conditional for DO_slowusb or something alike? Just some lines longer down the road we got one like this, but this time a "sleep 1" whch the comment states is a rare problem only for iSCSI users... So why does that sleep not live in the following function: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=blob;f=defaults/initrd.scripts;h=f9e792701bd92ceaa2514fbb25fa5e5871b55106;hb=refs/heads/experimental#l674 Right after iscsistart and before the fi? Fabio has done a few more related commits. Please check genkernel-99999 (fives nines) again. I assume this is fixed for now. Please re-open as needed. I think you should remove this one: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=blob;f=defaults/linuxrc;h=6ce83497c54c269409901516ced22a4eba59520a;hb=refs/heads/experimental#l289 (http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=blob;f=defaults/linuxrc;h=6ce83497c54c269409901516ced22a4eba59520a;hb=refs/heads/experimental#l298 duplicates its use anyway) Looks odd, agreed. This is meant to fix it: http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;h=1051223a6320bf8e6a0496ffa29ad499a9777915 As always, please re-open as needed. That should do it I guess.;) Thanks. |