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

2020-06-01 Thread Artur Barsegyan
Hi, Manfred. Did you get my last message? On Wed, May 27, 2020 at 02:22:57PM +0300, Artur Barsegyan wrote: > [sorry for the duplicates — I have changed my email client] > > About your case: > > The new receiver puts at the end of the receivers list. > pipelined_send() starts

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

2020-05-27 Thread Artur Barsegyan
+0200, Manfred Spraul wrote: > Hello Artur, > > On 5/26/20 9:56 AM, Artur Barsegyan wrote: > > Hello, Manfred! > > > > Thank you, for your review. I've reviewed your patch. > > > > I forgot about the case with different message types. At now with your > &

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-26 Thread Artur Barsegyan
to: https://github.com/artur-barsegyan/systemv_queue_research But I'm confused about the next thought: in general loop in the do_msgsnd() function, we doesn't check pipeline sending availability. Your case will be optimized if we check the pipeline sending inside the loop. On Sun, May 24

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

2020-05-23 Thread Artur Barsegyan
. Each round-trip wastes CPU time a lot and leads to perceptible throughput degradation. Source code of: - sender/receiver - benchmark script - ready graphics of before/after results is located here: https://github.com/artur-barsegyan/systemv_queue_research Signed-off-by