After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 524226 - call beagle-helper with ionice
call beagle-helper with ionice
Status: RESOLVED FIXED
Product: beagle
Classification: Other
Component: General
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: Beagle Bugs
Beagle Bugs
Depends on:
Blocks:
 
 
Reported: 2008-03-24 23:35 UTC by José Carlos García Sogo
Modified: 2008-03-25 13:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description José Carlos García Sogo 2008-03-24 23:35:40 UTC
This is tracking Debian bug #466357.
An user is reporting that beagled-helper script could be launched with 'ionice -c 2 -n 7 <program>' to help latency improve when indexhelper is launched, as it does not block I/O.
Though it is an easy patch to apply, I would like to get your opinion about this before making such a change in Debian.
Comment 1 Debajyoti Bera 2008-03-25 12:27:35 UTC
How come I am not getting bugs about these emails ! Bugzilla bug :-)

Anyway, we already do this (from the indexhelper log):
20080322 15:32:25.5117 25247 IndexH DEBUG: Set best effort IO priority to    lowest level (7)
20080322 15:32:25.5180 25247 IndexH DEBUG: Process was already niced to 19,  not renicing to 12

Its not done via the script but directly in code. Unfortunately ionice can only go so far :-). Also note that, beagle tries to leave the buffer cache as much undisturbed as possible by asking the kernel to remove the file from buffer cache when its done. Actually I think this is where it causes the problem, because files already in the buffer cache are also removed; fixing that would be very complicated, since it is not easy to figure out if a file is in the buffer cache. Instead beagled takes a middle ground conservative approach, it only modifies the buffer cache during crawling but not when a file is modified or created; it assumes that a file recently created or modified would be used in the future. These are all heuristics and they work well in practice but there are always corner cases that will blow up.