Background: I've never had BSC successfully pass on any flavour of Solaris. (Anyone else had success?)
About a year ago, I did some work on 'ipcsocket.c' to try to get it working, not only on various different flavours of Solaris, but also adding the option to use 'streams' rather than 'sockets' (necessary on Solaris before release 10) on OSes where that is more appopriate. This definitely improved things, and I supplemented this with some additional flexibility in its 'ipctest.c' exerciser. But the magic target of passing the BSC test was still elusive. Anyway, I'm re-visiting that area. I suspect the BSC problem might lie in 'ipcsocket.c', and I'd like your advice in pursuing it, please. By far the major portion of 'ipcsocket.c' seems to be about chopping up and big outgoing data messages into smaller chunks, so as to avoid blocking on 'send()'. (And, of course, in re-assembling these chunks on the 'recv()' side.) But 'ipctest' seems only to use small data messages "String-%d". (Is that correct? Calls to 'ops->new_ipcmsg' seem to grab just 32 bytes.) So I guess that the packet fragmentation/re-assembly parts of 'ipcsocket.c' are not being exercised as fully as they might. Thus on Solaris, the code might pass 'ipctest', whilst failing the more strenuous BSC workout. Does that sound plausible so far? So what I would like to do is extend 'ipctest' to be closer to 'real life' (e.g. using BSC-like data). What sort of data sizes would you regard as 'real life'? (Also any hints about content-like issues that might affect things, that could be used in the 'ipctest' exerciser, would be welcome.) Thanks in advance. -- : David Lee I.T. Service : : Senior Systems Programmer Computer Centre : : UNIX Team Leader Durham University : : South Road : : http://www.dur.ac.uk/t.d.lee/ Durham DH1 3LE : : Phone: +44 191 334 2752 U.K. : _______________________________________________________ Linux-HA-Dev: [email protected] http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
