Tried more different setting for TCP parameters, find following profile will leads to this kind of xcall storm during workload running.(1) tcp_max_buf =>1048576 (2) tcp_max_buf <1048576 and tcp_xmit_hiwat =>131072
During testing, no any modification for application and its input, I just modify tcp parameter through ndd. From the application, it will try to set socket send buffer size to 1048576 through setsockopt. When tcp_max_buf is set to <1048576, setsockopt call will fail and report error, but it continues to run. Thanks Zhihui 2009/7/13 zhihui Chen <zhch...@gmail.com> > Thanks steve and andrew. I have tried following two methods:(1) use mdb to > set mblk_pull_len to 0. The xcall is still very high and same to before > doing that. > (2) set tcp_max_buf to 65536 for control size of send and receive buffer, > the xcall and kernel utilization is reduced very much and "mpstat -a 2" has > following output: > > SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt > idl sze > 0 76 0 17386 19029 876 1329 99 130 298 2 1719 0 1 0 > 99 16 > SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt > idl sze > 0 8152 0 725 161524 119596 650416 43958 40670 65765 3 356206 7 > 52 0 41 16 > SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt > idl sze > 0 6460 0 804 163550 121536 663085 44498 42610 66349 15 352296 6 > 53 0 40 16 > SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt > idl sze > 0 7560 0 711 168416 123996 667632 46738 46100 67780 13 374021 7 > 53 0 40 16 > > > 2009/7/10 Andrew Gallatin <galla...@cs.duke.edu> > > Steve Sistare wrote: >> >>> This has the same signature as CR: >>> >>> 6694625 Performance falls off the cliff with large IO sizes >>> http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6694625 >>> >>> which was raised in the network forum thread "expensive pullupmsg in >>> kstrgetmsg()" >>> >>> http://www.opensolaris.org/jive/thread.jspa?messageID=229124𷼄 >>> >>> This was fixed in nv_112, so it just missed OpenSolaris 2009.06. >>> >>> The discussion says that the issue gets worse when the RX socket >>> buffer size is increased, so you could try reducing it as a workaround. >>> >> >> I'm the one who filed that bug.. >> >> You can tell if its this particular bug by using mdb to >> set mblk_pull_len to 0 and seeing if that reduces the >> xcalls due to dblk_lastfree_oversize >> >> Cheers, >> >> Drew >> > >
_______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org