On 03/20/2013 10:27 AM, Rik van Riel wrote:
On 03/05/2013 04:36 AM, Davidlohr Bueso wrote:
@@ -1476,8 +1539,8 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct
sembuf __user *, tsops,
queue.sleeper = current;
sleep_again:
-current->state = TASK_INTERRUPTIBLE;
sem_unlock(sma);
On 03/05/2013 04:36 AM, Davidlohr Bueso wrote:
@@ -1476,8 +1539,8 @@ SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf
__user *, tsops,
queue.sleeper = current;
sleep_again:
- current->state = TASK_INTERRUPTIBLE;
sem_unlock(sma);
+ current->state = TASK_INTERR
On 03/05/2013 04:36 AM, Davidlohr Bueso wrote:
@@ -888,27 +924,34 @@ static int semctl_main(struct ipc_namespace *ns, int
semid, int semnum,
{
struct sem_array *sma;
struct sem* curr;
- int err;
+ int err, nsems;
ushort fast_sem_io[SEMMSL_FAST];
ush
Instead of holding the ipc lock for permissions and security
checks, among others, only acquire it when necessary.
Some numbers
1) With Rik's semop-multi.c microbenchmark we can see the following
results:
Baseline (3.9-rc1):
cpus 4, threads: 256, semaphores: 128, test duration: 30 secs
total
4 matches
Mail list logo