Index: pvfs2_src/src/io/dev/pint-dev.c =================================================================== --- pvfs2_src/src/io/dev/pint-dev.c (revision 2100) +++ pvfs2_src/src/io/dev/pint-dev.c (revision 2101) @@ -197,6 +197,17 @@ desc[i].ptr = NULL; break; } + +#ifdef REDHAT_RELEASE_9 + /* fixes a corruption issue on linux 2.4 kernels where the buffers are + * not being pinned in memory properly + */ + if(mlock( (const char *) ptr, total_size) != 0) + { + gossip_err("Error: FAILED to mlock shared buffer\n"); + break; + } +#endif desc[i].ptr = ptr; desc[i].total_size = total_size; desc[i].size = params[i].dev_buffer_size; @@ -253,6 +264,16 @@ ptr = (void *) desc[i].ptr; assert(ptr); +#ifdef REDHAT_RELEASE_9 + /* fixes a corruption issue on linux 2.4 kernels where the buffers are + * not being pinned in memory properly + */ + if(munlock( (const char *) ptr, desc[i].total_size) != 0) + { + gossip_err("Error: FAILED to munlock shared buffer\n"); + } +#endif + PINT_mem_aligned_free(ptr); } }