On Friday 28 March 2008 22:04:50 John Tapsell wrote: > On 28/03/2008, Sebastian Trüg wrote: > > On Friday 28 March 2008 16:21:46 Anders Lund wrote: > > > What is wrong with strigidaemon? > > > > > > It can't be that it is supposed to run at 80-99%CPU for hours after i > > > boot! That is simply not acceptable. > > > > > > It is set to index my home directory. > > > > I have here locally a quick hack that makes Strigi use io-nice. It > > actually makes Strigi much more usable. While it still uses a lot of CPU > > in the initial indexing phase, it does not lock the whole system down. > > Please find attached the stupid little patch (the reason for not > > committing is that the patch is not well tested) > > Could you add brackets to the 7|IOPRIO_CLASS_BE< please? > > Btw, why did you switch to using syscall instead of sys_ioprio_set ? no special reason. I copied this from some other place. > For the //FIXME: make cmake test part, I don't think you need a > cmake test. Tthe following should suffice: > > #define HAVE_IONICE > /* Check if this system has ionice */ > #if !defined(SYS_ioprio_get) || !defined(SYS_ioprio_set) > /* All new kernels have SYS_ioprio_get and _set defined, but for the > few that do not, here are the definitions */ > #if defined(__i386__) > #define __NR_ioprio_set 289 > #define __NR_ioprio_get 290 > #elif defined(__ppc__) || defined(__powerpc__) > #define __NR_ioprio_set 273 > #define __NR_ioprio_get 274 > #elif defined(__x86_64__) > #define __NR_ioprio_set 251 > #define __NR_ioprio_get 252 > #elif defined(__ia64__) > #define __NR_ioprio_set 1274 > #define __NR_ioprio_get 1275 > #else > #ifdef __GNUC__ > #warning "This architecture does not support IONICE. Disabling ionice > feature." #endif > #undef HAVE_IONICE > #endif > /* Map these to SYS_ioprio_get */ > #define SYS_ioprio_get __NR_ioprio_get > #define SYS_ioprio_set __NR_ioprio_set > > #endif /* !SYS_ioprio_get */ > > (This is what I use in > kdebase/workspace/libs/ksysguard/processcore/processes_linux_p.cpp ) very good. I will improve the patch based on this then.