All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nadia Derbey <Nadia.Derbey@bull.net>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: manfred@colorfullife.com, paulmck@linux.vnet.ibm.com,
	linux-kernel@vger.kernel.org, efault@gmx.de
Subject: Re: [PATCH 00/10] Scalability requirements for sysv ipc - v2
Date: Mon, 05 May 2008 18:52:50 +0200	[thread overview]
Message-ID: <481F3B62.9020407@bull.net> (raw)
In-Reply-To: <20080429115424.41b82fcb.akpm@linux-foundation.org>

[-- Attachment #1: Type: text/plain, Size: 1879 bytes --]

Andrew Morton wrote:
> On Tue, 29 Apr 2008 16:33:04 +0200
> Nadia.Derbey@bull.net wrote:
> 
> 
>>After scalability problems had been detected when using the sysV ipcs, I
>>have proposed to use an RCU based implementation of the IDR api instead
>>(see thread http://lkml.org/lkml/2008/4/11/212).
>>
>>Resending the patch series after
>> . integrating Paul's remarks
>> . fixing a bug I had introduced
>> . porting it to 2.6.25-mm1.
>>
>>Reviewers are still welcome!
>>
>>Patch 1 can be taken alone: it fixes a problem in the existing IDR API.
>>
>>Patches should be applied on linux-2.6.25-mm1, in the following order:
>>
>>[ PATCH 01/10 ] : idr_minor_fix.patch
>>[ PATCH 02/10 ] : ridr_structure.patch
>>[ PATCH 03/10 ] : ridr_pre_get.patch
>>[ PATCH 04/10 ] : ridr_init.patch
>>[ PATCH 05/10 ] : ridr_get_new_above.patch
>>[ PATCH 06/10 ] : ridr_get_new.patch
>>[ PATCH 07/10 ] : ridr_find.patch
>>[ PATCH 08/10 ] : ridr_remove.patch
>>[ PATCH 09/10 ] : ipc_use_ridr.patch
>>[ PATCH 10/10 ] : remove_ipc_lock_down.patch
>>
> 
> 
> hm, you've been busy.
> 
> As all this work is entirely for performance reasons, the changelog should
> have (lots of) performance testing results!  Please.
> 
> 

Here are the results I've got  for the pmsg test sent by Manfred:

for i in 1 2 3 4 5 6 7 8;do ./pmsg $i 5;done > output.25_mm1.ref.8
for i in 1 2 3 4 5 6 7 8;do ./pmsg $i 5;done > output.25_mm1.patch.8


                 2.6.25-mm1 (ref)   2.6.25-mm1(patched)

Total (1 cpu):   876000             985496
Total (2 cpus): 1549592            1740591
Total (3 cpus): 1694370            2327468
Total (4 cpus):  404553            2465787
Total (5 cpus):  391283            3215676
Total (6 cpus):  263249            3849121
Total (7 cpus):  191742            4209866
Total (8 cpus):  141722            4255585



Full output files attached.

Will send the rest tomorrow.

Regards
Nadia


[-- Attachment #2: output.25_mm1.ref.8 --]
[-- Type: text/x-troff-man, Size: 5846 bytes --]

pmsg [nr queues] [timeout]
Using 1 queues/cpus (2 threads) for 5 seconds.
thread 1: sysvmsg        0 type 0 bound to 0001h
thread 0: sysvmsg        0 type 1 bound to 0001h
Result matrix:
  Thread   0:   438000       1:   438000
Total: 876000
pmsg [nr queues] [timeout]
Using 2 queues/cpus (4 threads) for 5 seconds.
thread 0: sysvmsg    32768 type 1 bound to 0001h
thread 1: sysvmsg    65537 type 1 bound to 0002h
thread 3: sysvmsg    65537 type 0 bound to 0002h
thread 2: sysvmsg    32768 type 0 bound to 0001h
Result matrix:
  Thread   0:   385675       2:   385675
  Thread   1:   389121       3:   389121
Total: 1549592
pmsg [nr queues] [timeout]
Using 3 queues/cpus (6 threads) for 5 seconds.
thread 0: sysvmsg    98304 type 1 bound to 0001h
thread 3: sysvmsg    98304 type 0 bound to 0001h
thread 1: sysvmsg   131073 type 1 bound to 0002h
thread 2: sysvmsg   163842 type 1 bound to 0004h
thread 5: sysvmsg   163842 type 0 bound to 0004h
thread 4: sysvmsg   131073 type 0 bound to 0002h
Result matrix:
  Thread   0:   279690       3:   279690
  Thread   1:   283228       4:   283229
  Thread   2:   284266       5:   284267
Total: 1694370
pmsg [nr queues] [timeout]
Using 4 queues/cpus (8 threads) for 5 seconds.
thread 0: sysvmsg   196608 type 1 bound to 0001h
thread 1: sysvmsg   229377 type 1 bound to 0002h
thread 2: sysvmsg   262146 type 1 bound to 0004h
thread 3: sysvmsg   294915 type 1 bound to 0008h
thread 4: sysvmsg   196608 type 0 bound to 0001h
thread 7: sysvmsg   294915 type 0 bound to 0008h
thread 6: sysvmsg   262146 type 0 bound to 0004h
thread 5: sysvmsg   229377 type 0 bound to 0002h
Result matrix:
  Thread   0:    50305       4:    50305
  Thread   1:    50168       5:    50168
  Thread   2:    50922       6:    50922
  Thread   3:    50881       7:    50882
Total: 404553
pmsg [nr queues] [timeout]
Using 5 queues/cpus (10 threads) for 5 seconds.
thread 0: sysvmsg   327680 type 1 bound to 0001h
thread 1: sysvmsg   360449 type 1 bound to 0002h
thread 2: sysvmsg   393218 type 1 bound to 0004h
thread 3: sysvmsg   425987 type 1 bound to 0008h
thread 4: sysvmsg   458756 type 1 bound to 0010h
thread 8: sysvmsg   425987 type 0 bound to 0008h
thread 7: sysvmsg   393218 type 0 bound to 0004h
thread 6: sysvmsg   360449 type 0 bound to 0002h
thread 5: sysvmsg   327680 type 0 bound to 0001h
thread 9: sysvmsg   458756 type 0 bound to 0010h
Result matrix:
  Thread   0:    29684       5:    29684
  Thread   1:    30236       6:    30237
  Thread   2:    30902       7:    30902
  Thread   3:    30699       8:    30700
  Thread   4:    74119       9:    74120
Total: 391283
pmsg [nr queues] [timeout]
Using 6 queues/cpus (12 threads) for 5 seconds.
thread 0: sysvmsg   491520 type 1 bound to 0001h
thread 2: sysvmsg   557058 type 1 bound to 0004h
thread 7: sysvmsg   524289 type 0 bound to 0002h
thread 1: sysvmsg   524289 type 1 bound to 0002h
thread 8: sysvmsg   557058 type 0 bound to 0004h
thread 3: sysvmsg   589827 type 1 bound to 0008h
thread 6: sysvmsg   491520 type 0 bound to 0001h
thread 4: sysvmsg   622596 type 1 bound to 0010h
thread 11: sysvmsg   655365 type 0 bound to 0020h
thread 5: sysvmsg   655365 type 1 bound to 0020h
thread 10: sysvmsg   622596 type 0 bound to 0010h
thread 9: sysvmsg   589827 type 0 bound to 0008h
Result matrix:
  Thread   0:    17229       6:    17230
  Thread   1:    17442       7:    17442
  Thread   2:    17337       8:    17337
  Thread   3:    17420       9:    17421
  Thread   4:    31020      10:    31020
  Thread   5:    31175      11:    31176
Total: 263249
pmsg [nr queues] [timeout]
Using 7 queues/cpus (14 threads) for 5 seconds.
thread 0: sysvmsg   688128 type 1 bound to 0001h
thread 1: sysvmsg   720897 type 1 bound to 0002h
thread 2: sysvmsg   753666 type 1 bound to 0004h
thread 3: sysvmsg   786435 type 1 bound to 0008h
thread 4: sysvmsg   819204 type 1 bound to 0010h
thread 5: sysvmsg   851973 type 1 bound to 0020h
thread 6: sysvmsg   884742 type 1 bound to 0040h
thread 8: sysvmsg   720897 type 0 bound to 0002h
thread 10: sysvmsg   786435 type 0 bound to 0008h
thread 9: sysvmsg   753666 type 0 bound to 0004h
thread 11: sysvmsg   819204 type 0 bound to 0010h
thread 7: sysvmsg   688128 type 0 bound to 0001h
thread 13: sysvmsg   884742 type 0 bound to 0040h
thread 12: sysvmsg   851973 type 0 bound to 0020h
Result matrix:
  Thread   0:    12058       7:    12058
  Thread   1:    12054       8:    12055
  Thread   2:    12023       9:    12023
  Thread   3:    12062      10:    12062
  Thread   4:    15940      11:    15940
  Thread   5:    15725      12:    15726
  Thread   6:    16008      13:    16008
Total: 191742
pmsg [nr queues] [timeout]
Using 8 queues/cpus (16 threads) for 5 seconds.
thread 1: sysvmsg   950273 type 1 bound to 0002h
thread 2: sysvmsg   983042 type 1 bound to 0004h
thread 3: sysvmsg  1015811 type 1 bound to 0008h
thread 4: sysvmsg  1048580 type 1 bound to 0010h
thread 0: sysvmsg   917504 type 1 bound to 0001h
thread 8: sysvmsg   917504 type 0 bound to 0001h
thread 10: sysvmsg   983042 type 0 bound to 0004h
thread 9: sysvmsg   950273 type 0 bound to 0002h
thread 12: sysvmsg  1048580 type 0 bound to 0010h
thread 11: sysvmsg  1015811 type 0 bound to 0008h
thread 5: sysvmsg  1081349 type 1 bound to 0020h
thread 6: sysvmsg  1114118 type 1 bound to 0040h
thread 13: sysvmsg  1081349 type 0 bound to 0020h
thread 7: sysvmsg  1146887 type 1 bound to 0080h
thread 14: sysvmsg  1114118 type 0 bound to 0040h
thread 15: sysvmsg  1146887 type 0 bound to 0080h
Result matrix:
  Thread   0:     8757       8:     8757
  Thread   1:     8819       9:     8819
  Thread   2:     8848      10:     8849
  Thread   3:     8832      11:     8832
  Thread   4:     8930      12:     8931
  Thread   5:     8893      13:     8894
  Thread   6:     8894      14:     8894
  Thread   7:     8886      15:     8887
Total: 141722

[-- Attachment #3: output.25_mm1.patch.8 --]
[-- Type: text/x-troff-man, Size: 5851 bytes --]

pmsg [nr queues] [timeout]
Using 1 queues/cpus (2 threads) for 5 seconds.
thread 0: sysvmsg  1507328 type 1 bound to 0001h
thread 1: sysvmsg  1507328 type 0 bound to 0001h
Result matrix:
  Thread   0:   492748       1:   492748
Total: 985496
pmsg [nr queues] [timeout]
Using 2 queues/cpus (4 threads) for 5 seconds.
thread 0: sysvmsg  1540096 type 1 bound to 0001h
thread 1: sysvmsg  1572865 type 1 bound to 0002h
thread 3: sysvmsg  1572865 type 0 bound to 0002h
thread 2: sysvmsg  1540096 type 0 bound to 0001h
Result matrix:
  Thread   0:   436429       2:   436430
  Thread   1:   433866       3:   433866
Total: 1740591
pmsg [nr queues] [timeout]
Using 3 queues/cpus (6 threads) for 5 seconds.
thread 0: sysvmsg  1605632 type 1 bound to 0001h
thread 1: sysvmsg  1638401 type 1 bound to 0002h
thread 2: sysvmsg  1671170 type 1 bound to 0004h
thread 5: sysvmsg  1671170 type 0 bound to 0004h
thread 4: sysvmsg  1638401 type 0 bound to 0002h
thread 3: sysvmsg  1605632 type 0 bound to 0001h
Result matrix:
  Thread   0:   388457       3:   388457
  Thread   1:   384674       4:   384674
  Thread   2:   390603       5:   390603
Total: 2327468
pmsg [nr queues] [timeout]
Using 4 queues/cpus (8 threads) for 5 seconds.
thread 0: sysvmsg  1703936 type 1 bound to 0001h
thread 1: sysvmsg  1736705 type 1 bound to 0002h
thread 2: sysvmsg  1769474 type 1 bound to 0004h
thread 3: sysvmsg  1802243 type 1 bound to 0008h
thread 6: sysvmsg  1769474 type 0 bound to 0004h
thread 5: sysvmsg  1736705 type 0 bound to 0002h
thread 7: sysvmsg  1802243 type 0 bound to 0008h
thread 4: sysvmsg  1703936 type 0 bound to 0001h
Result matrix:
  Thread   0:   307122       4:   307122
  Thread   1:   308710       5:   308711
  Thread   2:   307589       6:   307589
  Thread   3:   309472       7:   309472
Total: 2465787
pmsg [nr queues] [timeout]
Using 5 queues/cpus (10 threads) for 5 seconds.
thread 0: sysvmsg  1835008 type 1 bound to 0001h
thread 1: sysvmsg  1867777 type 1 bound to 0002h
thread 2: sysvmsg  1900546 type 1 bound to 0004h
thread 3: sysvmsg  1933315 type 1 bound to 0008h
thread 4: sysvmsg  1966084 type 1 bound to 0010h
thread 7: sysvmsg  1900546 type 0 bound to 0004h
thread 9: sysvmsg  1966084 type 0 bound to 0010h
thread 8: sysvmsg  1933315 type 0 bound to 0008h
thread 6: sysvmsg  1867777 type 0 bound to 0002h
thread 5: sysvmsg  1835008 type 0 bound to 0001h
Result matrix:
  Thread   0:   338483       5:   338483
  Thread   1:   266569       6:   266569
  Thread   2:   285255       7:   285256
  Thread   3:   335819       8:   335819
  Thread   4:   381711       9:   381712
Total: 3215676
pmsg [nr queues] [timeout]
Using 6 queues/cpus (12 threads) for 5 seconds.
thread 0: sysvmsg  1998848 type 1 bound to 0001h
thread 2: sysvmsg  2064386 type 1 bound to 0004h
thread 7: sysvmsg  2031617 type 0 bound to 0002h
thread 3: sysvmsg  2097155 type 1 bound to 0008h
thread 4: sysvmsg  2129924 type 1 bound to 0010h
thread 5: sysvmsg  2162693 type 1 bound to 0020h
thread 8: sysvmsg  2064386 type 0 bound to 0004h
thread 1: sysvmsg  2031617 type 1 bound to 0002h
thread 6: sysvmsg  1998848 type 0 bound to 0001h
thread 11: sysvmsg  2162693 type 0 bound to 0020h
thread 10: sysvmsg  2129924 type 0 bound to 0010h
thread 9: sysvmsg  2097155 type 0 bound to 0008h
Result matrix:
  Thread   0:   318850       6:   318850
  Thread   1:   307664       7:   307664
  Thread   2:   316157       8:   316157
  Thread   3:   274740       9:   274741
  Thread   4:   352108      10:   352109
  Thread   5:   355040      11:   355041
Total: 3849121
pmsg [nr queues] [timeout]
Using 7 queues/cpus (14 threads) for 5 seconds.
thread 1: sysvmsg  2228225 type 1 bound to 0002h
thread 7: sysvmsg  2195456 type 0 bound to 0001h
thread 2: sysvmsg  2260994 type 1 bound to 0004h
thread 3: sysvmsg  2293763 type 1 bound to 0008h
thread 4: sysvmsg  2326532 type 1 bound to 0010h
thread 5: sysvmsg  2359301 type 1 bound to 0020h
thread 13: sysvmsg  2392070 type 0 bound to 0040h
thread 9: sysvmsg  2260994 type 0 bound to 0004h
thread 8: sysvmsg  2228225 type 0 bound to 0002h
thread 0: sysvmsg  2195456 type 1 bound to 0001h
thread 12: sysvmsg  2359301 type 0 bound to 0020h
thread 6: sysvmsg  2392070 type 1 bound to 0040h
thread 11: sysvmsg  2326532 type 0 bound to 0010h
thread 10: sysvmsg  2293763 type 0 bound to 0008h
Result matrix:
  Thread   0:   311401       7:   311402
  Thread   1:   255123       8:   255124
  Thread   2:   311868       9:   311868
  Thread   3:   299011      10:   299011
  Thread   4:   280114      11:   280115
  Thread   5:   314069      12:   314070
  Thread   6:   333345      13:   333345
Total: 4209866
pmsg [nr queues] [timeout]
Using 8 queues/cpus (16 threads) for 5 seconds.
thread 0: sysvmsg  2424832 type 1 bound to 0001h
thread 1: sysvmsg  2457601 type 1 bound to 0002h
thread 2: sysvmsg  2490370 type 1 bound to 0004h
thread 3: sysvmsg  2523139 type 1 bound to 0008h
thread 4: sysvmsg  2555908 type 1 bound to 0010h
thread 5: sysvmsg  2588677 type 1 bound to 0020h
thread 6: sysvmsg  2621446 type 1 bound to 0040h
thread 7: sysvmsg  2654215 type 1 bound to 0080h
thread 10: sysvmsg  2490370 type 0 bound to 0004h
thread 13: sysvmsg  2588677 type 0 bound to 0020h
thread 9: sysvmsg  2457601 type 0 bound to 0002h
thread 12: sysvmsg  2555908 type 0 bound to 0010h
thread 11: sysvmsg  2523139 type 0 bound to 0008h
thread 8: sysvmsg  2424832 type 0 bound to 0001h
thread 14: sysvmsg  2621446 type 0 bound to 0040h
thread 15: sysvmsg  2654215 type 0 bound to 0080h
Result matrix:
  Thread   0:   234942       8:   234942
  Thread   1:   262977       9:   262978
  Thread   2:   294207      10:   294208
  Thread   3:   288878      11:   288879
  Thread   4:   273532      12:   273532
  Thread   5:   248904      13:   248904
  Thread   6:   260121      14:   260122
  Thread   7:   264229      15:   264230
Total: 4255585

  reply	other threads:[~2008-05-05 16:53 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-29 14:33 [PATCH 00/10] Scalability requirements for sysv ipc - v2 Nadia.Derbey
2008-04-29 14:33 ` [PATCH 01/10] Fix idr_remove() Nadia.Derbey
2008-04-29 18:44   ` Andrew Morton
2008-05-05  9:26     ` Nadia Derbey
2008-04-29 14:33 ` [PATCH 02/10] Introduce the ridr structure Nadia.Derbey
2008-05-01  4:30   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 03/10] Introduce ridr_pre_get() Nadia.Derbey
2008-05-01  4:31   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 04/10] Introduce ridr_init() Nadia.Derbey
2008-05-01  4:31   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 05/10] Introduce ridr_get_new_above() Nadia.Derbey
2008-05-01  4:32   ` Tim Pepper
2008-05-05 10:33     ` Nadia Derbey
2008-04-29 14:33 ` [PATCH 06/10] Introduce ridr_get_new() Nadia.Derbey
2008-05-01  4:32   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 07/10] Introduce ridr_find() Nadia.Derbey
2008-05-01  4:32   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 08/10] Introduce ridr_remove() Nadia.Derbey
2008-05-01  4:32   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 09/10] Integrate the ridr code into IPC code Nadia.Derbey
2008-05-01  4:32   ` Tim Pepper
2008-04-29 14:33 ` [PATCH 10/10] Get rid of ipc_lock_down() Nadia.Derbey
2008-05-01  4:33   ` Tim Pepper
2008-04-29 18:54 ` [PATCH 00/10] Scalability requirements for sysv ipc - v2 Andrew Morton
2008-05-05 16:52   ` Nadia Derbey [this message]
2008-05-05 17:07     ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=481F3B62.9020407@bull.net \
    --to=nadia.derbey@bull.net \
    --cc=akpm@linux-foundation.org \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=manfred@colorfullife.com \
    --cc=paulmck@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.