Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-06-01 Thread Manfred Spraul
the patch applied? --     Manfred From fe2f257b1950a19bf5c6f67e71aa25c2f13bcdc3 Mon Sep 17 00:00:00 2001 From: Manfred Spraul Date: Sun, 24 May 2020 14:47:31 +0200 Subject: [PATCH 2/2] ipc/msg.c: Handle case of senders not enqueuing the message The patch "ipc/msg.c: wake up se

Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-06-01 Thread Artur Barsegyan
7 @@ static void ss_wakeup(struct msg_queue *msq, > > > > > continue; > > > > > } > > > > > + msq_quota_used += mss->msgsz; > > > > > wake_q_add(wake_q, mss->tsk); > &g

Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-05-27 Thread Artur Barsegyan
e > > > message: > > > > > > Situation: > > > > > > - 2 messages of type 1 in the queue (2x8192 bytes, queue full) > > > > > > - 6 senders waiting to send messages of type 2 > > > > > > - 6 receivers waiting to ge

Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-05-27 Thread Artur Barsegyan
About your case: The new receiver puts at the end of the receivers list. pipelined_send() starts from the beginning of the list and iterates until the end. If our queue is always full, each receiver should get a message because new receivers appends at the end. In my vision: we waste some time

Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-05-27 Thread Manfred Spraul
ng that you agree) run your benchmarks with the patch applied? --     Manfred From fe2f257b1950a19bf5c6f67e71aa25c2f13bcdc3 Mon Sep 17 00:00:00 2001 From: Manfred Spraul Date: Sun, 24 May 2020 14:47:31 +0200 Subject: [PATCH 2/2] ipc/msg.c: Handle case of senders not enqueuing the message

Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-05-26 Thread Artur Barsegyan
ends the message to one receiver, > and the remaining 10 tasks continue to sleep. > > > Could you please check and (assuming that you agree) run your benchmarks > with the patch applied? > > -- > >     Manfred > > > > From fe2f257b1950a19bf5c6f67e71aa25

Re: [PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-05-24 Thread Manfred Spraul
  Manfred >From fe2f257b1950a19bf5c6f67e71aa25c2f13bcdc3 Mon Sep 17 00:00:00 2001 From: Manfred Spraul Date: Sun, 24 May 2020 14:47:31 +0200 Subject: [PATCH 2/2] ipc/msg.c: Handle case of senders not enqueuing the message The patch "ipc/msg.c: wake up senders until there is a qu

[PATCH] ipc/msg.c: wake up senders until there is a queue empty capacity

2020-05-23 Thread Artur Barsegyan
Take into account the total size of the already enqueued messages of previously handled senders before another one. Otherwise, we have serious degradation of receiver throughput for case with multiple senders because another sender wakes up, checks the queue capacity and falls into sleep again.