(Illustration by Gaich Muramatsu)
Hello, I have looked at the source of librvm and at the first glance it is consistent about usage of long or unsigned long values in rvm addressing. Apparently there was at least one inconsistency in int vs long in rdsinit (using an int value as a counter to detect the end of the zero initialization run), but it was trivial to fix. This could imply that librvm is more or less 64-bits-clean but my smoke tests showed that either/both rdsutils and coda server build for x86_64 (LP64 ABI) break when presented with RVM >= 2GB. This may be of course a consequence of rdsutils being broken, generating incorrect RVM even in some cases when they pretend to succeed. The failure diagnostics vary, depending on the size of RVM but look deterministic. (no apparent problems up to 2047MB RVM size) This clearly indicates that the code was never used on LP64 platforms with RVM > 2GB. Nevertheless just to be sure I would like to ask on the list, whether RVM was tested or used on ILP64 platforms (Alpha?) with sizes exceeding 2G? On the other hand, may be there was never an intention to support RVM bigger than 2^32 and a rewrite or replacement is needed to do such a thing? Hope the authors can tell. Thanks in advance if someone can sched light on this matter. Our realms become quite large and even though adding more servers works around the limitation it would be nice to avoid the limitation if possible. Your verdict? Regards, RuneReceived on 2016-08-19 10:51:43