Package: slapd
Version: 2.2.23-1

Hello,
  slapd/slapadd use sched_yield on places where it really
should not be idling.  Due to this upgrade from 2.1.30 to
2.2.23 takes more than 1 day on our 100000 objects tree
we have, with about 40 indexed attributes (after one day
I gave up, attached debugger to slapadd and overwrite
sched_yield procedure in slapadd with 'ret'; import
finished ~1 hour after I did that). 

  So I created shared library with function below, and
LD_PRELOADed it before upgrading replicas - replicas
were upgraded in about 1h15m, so I assume that slapadd
without killing sched_yield would take at least 4 days 
with our configuration, which seems a bit too long to me.

  It would be nice if upstream could eliminate at least
some useless sched_yield from code (if not all these
calls, I do not believe they are doing anything good
on 2.6.x kernels).  Or you should warn users that 
slapadd can take days, maybe weeks.

/*
%.so: %.c
        gcc -W -Wall -O2 -shared -o $@ $< -ldl
*/
#define _GNU_SOURCE
#include <dlfcn.h>

int sched_yield(void) {
        return 0;
}


                                Thanks,
                                        Petr Vandrovec



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to