Strigidaemon

Sebastian Trüg strueg at mandriva.com
Mon Mar 31 09:45:06 BST 2008


On Friday 28 March 2008 22:04:50 John Tapsell wrote:
> On 28/03/2008, Sebastian Trüg <strueg at mandriva.com> 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<<IOPRIO_CLASS_SHIFT 
> 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.




More information about the kde-core-devel mailing list