Bug 154171 - building the list of modules takes 10 minutes
Summary: building the list of modules takes 10 minutes
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: YaST2 (show other bugs)
Version: Beta 5
Hardware: i686 Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Ladislav Slezák
QA Contact: Klaus Kämpf
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-28 17:55 UTC by michel munnix
Modified: 2006-04-03 13:48 UTC (History)
0 users

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
/var/log/YaST2 (189.95 KB, application/x-bzip2)
2006-02-28 17:57 UTC, michel munnix
Details
y2log + repeated ps -afx (162.60 KB, text/plain)
2006-02-28 21:25 UTC, michel munnix
Details

Note You need to log in before you can comment on or make changes to this bug.
Description michel munnix 2006-02-28 17:55:42 UTC
At the end of the installation of opensuse 10.1 beta 5,
-> configure hardware
-> tv card
building the list of kernel modules for Technotrend/Hauppauge DVB takes 10 minutes (16:28:54->16:38:34)
Need for optimisation?
Comment 1 michel munnix 2006-02-28 17:57:21 UTC
Created attachment 70681 [details]
/var/log/YaST2
Comment 2 Klaus Kämpf 2006-02-28 18:01:59 UTC
-> yast2-tv, can this be reproduced ?
Comment 3 michel munnix 2006-02-28 21:23:27 UTC
I reproduced it with a less dramatic result:
First install was a full install (most selections were checked), there was also activity going on in the background.
This time, default kde installation, waited until system idle : it took 2 minutes, which is also too long.
Attaching selection from y2log and repeated (date ; ps -afx)
Comment 4 michel munnix 2006-02-28 21:25:16 UTC
Created attachment 70701 [details]
y2log + repeated ps -afx
Comment 5 michel munnix 2006-03-22 22:15:10 UTC
same problem in beta8 : there seems to be a back-reference to the root file system from /lib/modules/2.6.16-rc6-git1-4-default/extra/ ...
seen with ps :

11051 tty1     R+     0:00                  \_ /usr/bin/perl /usr/lib/YaST2/servers_non_y2/ag_modinfo
13329 tty1     R+     0:00                      \_ sh -c cd /lib/modules/2.6.16-rc6-git1-4-default/extra/./opt/kde3/share/d
oc/HTML/en/kcontrol/ebrowsing 2> /dev/null; ls *.ko 2> /dev/null
Comment 6 Ladislav Slezák 2006-03-24 13:46:20 UTC
I can't find any "extra" directory on my system. Which package owns the directory (rpm -qf /lib/modules/2.6.16-rc6-git1-4-default/extra/)? How can I reproduce the bug?
Comment 7 michel munnix 2006-03-24 14:29:37 UTC
I found a possible explanation with these lines from attachchment #70701:

12901 tty1     S+     0:00                      \_ sh -c cd /lib/modules/2.6.16-rc4-3-default/extra 2> /dev/null ; find -type d 2> /dev/null
12902 tty1     R+     0:03                          \_ find -type d

If "cd /lib/modules/2.6.16-rc4-3-default/extra" fails (if it does not exist or is no directory ...), we could land in /.
Then we begin to select all directories in the filesystem.
Afterwards, we catenate the prefix +"/"+ each path in / 
and run "cd .... ; ls *.ko" in a new shell tens of thousands times
A solution could be to replace "; find -type d" with "&& find -type d"
Comment 8 Ladislav Slezák 2006-04-03 10:39:37 UTC
Tv module uses call SCR::Dir(.modinfo.extra) for scanning available kernel drivers.

Martin, modinfo is a perl agent, could you look at it?
Comment 9 Martin Vidner 2006-04-03 12:37:43 UTC
Thanks for your findings, Michel. "&&" applied in yast2-core-2.13.20
Lada, perhaps "extra" has a different name now?
Comment 10 Ladislav Slezák 2006-04-03 12:58:13 UTC
Right, now it's "updates" directory. Thanks!
Comment 11 Ladislav Slezák 2006-04-03 13:48:24 UTC
Also the firmware directory has been changed to "/lib/firmware/"

Fixed in yast2-tv-2.13.8