|
@@ -264,7 +264,8 @@ static void *processMsgs_launch(void *voidargs) {
|
|
|
|
|
|
/*
|
|
|
if(lcid==0) {
|
|
|
- printf("\n\nMessage for lcid 0, S, R = %d, %d\n\n\n", *((uint32_t*) stg_buf_ptr),
|
|
|
+ printf("\n\nMessage for lcid 0, S, R = %d, %d\n\n\n",
|
|
|
+ *((uint32_t*) stg_buf_ptr),
|
|
|
*((uint32_t*) (stg_buf_ptr + 4)));
|
|
|
}
|
|
|
*/
|
|
@@ -330,7 +331,9 @@ void storage_received(MsgBuffer &storage_buf)
|
|
|
uint32_t nid_mask = ~uid_mask;
|
|
|
|
|
|
#ifdef PROFILE_STORAGE
|
|
|
- unsigned long start_received = printf_with_rtclock("begin storage_received (%u)\n", storage_buf.inserted);
|
|
|
+ unsigned long start_received =
|
|
|
+ printf_with_rtclock("begin storage_received (%u)\n",
|
|
|
+ storage_buf.inserted);
|
|
|
#endif
|
|
|
|
|
|
// It's OK to test for errors in a way that's non-oblivous if
|
|
@@ -378,13 +381,16 @@ void storage_received(MsgBuffer &storage_buf)
|
|
|
// Sort the received messages by userid into the
|
|
|
// storage_state.stg_buf MsgBuffer.
|
|
|
#ifdef PROFILE_STORAGE
|
|
|
- unsigned long start_sort = printf_with_rtclock("begin oblivious sort (%u)\n", storage_buf.inserted);
|
|
|
+ unsigned long start_sort =
|
|
|
+ printf_with_rtclock("begin oblivious sort (%u)\n",
|
|
|
+ storage_buf.inserted);
|
|
|
#endif
|
|
|
sort_mtobliv<UidKey>(g_teems_config.nthreads, storage_buf.buf,
|
|
|
msg_size, storage_buf.inserted, storage_buf.bufsize,
|
|
|
storage_state.stg_buf.buf);
|
|
|
#ifdef PROFILE_STORAGE
|
|
|
- printf_with_rtclock_diff(start_sort, "end oblivious sort (%u)\n", storage_buf.inserted);
|
|
|
+ printf_with_rtclock_diff(start_sort, "end oblivious sort (%u)\n",
|
|
|
+ storage_buf.inserted);
|
|
|
#endif
|
|
|
|
|
|
// For public routing, remove excess per-user messages by making them
|
|
@@ -433,7 +439,9 @@ void storage_received(MsgBuffer &storage_buf)
|
|
|
*/
|
|
|
|
|
|
#ifdef PROFILE_STORAGE
|
|
|
- unsigned long start_dest = printf_with_rtclock("begin setting dests (%u)\n", storage_state.stg_buf.bufsize);
|
|
|
+ unsigned long start_dest =
|
|
|
+ printf_with_rtclock("begin setting dests (%u)\n",
|
|
|
+ storage_state.stg_buf.bufsize);
|
|
|
#endif
|
|
|
// Obliviously set the dest array
|
|
|
uint32_t *dests = storage_state.dest.data();
|
|
@@ -467,15 +475,18 @@ void storage_received(MsgBuffer &storage_buf)
|
|
|
#endif
|
|
|
/*
|
|
|
for (uint32_t i=0;i<stg_size; ++i) {
|
|
|
- printf("%3d: %08x %08x %u\n", i,
|
|
|
+ printf("%3d: %08x %08x %08x %08x %u\n", i,
|
|
|
*(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size)),
|
|
|
*(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+4)),
|
|
|
+ *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+8)),
|
|
|
+ *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+12)),
|
|
|
dests[i]);
|
|
|
}
|
|
|
*/
|
|
|
|
|
|
#ifdef PROFILE_STORAGE
|
|
|
- unsigned long start_expand = printf_with_rtclock("begin ORExpand (%u)\n", stg_size);
|
|
|
+ unsigned long start_expand =
|
|
|
+ printf_with_rtclock("begin ORExpand (%u)\n", stg_size);
|
|
|
#endif
|
|
|
ORExpand_parallel<OSWAP_16X>(storage_state.stg_buf.buf, dests,
|
|
|
msg_size, stg_size, g_teems_config.nthreads);
|
|
@@ -484,9 +495,11 @@ void storage_received(MsgBuffer &storage_buf)
|
|
|
#endif
|
|
|
/*
|
|
|
for (uint32_t i=0;i<stg_size; ++i) {
|
|
|
- printf("%3d: %08x %08x %u\n", i,
|
|
|
+ printf("%3d: %08x %08x %08x %08x %u\n", i,
|
|
|
*(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size)),
|
|
|
*(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+4)),
|
|
|
+ *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+8)),
|
|
|
+ *(uint32_t*)(storage_state.stg_buf.buf+(i*msg_size+12)),
|
|
|
dests[i]);
|
|
|
}
|
|
|
*/
|
|
@@ -508,7 +521,8 @@ void storage_received(MsgBuffer &storage_buf)
|
|
|
storage_state.stg_buf.reset();
|
|
|
|
|
|
#ifdef PROFILE_STORAGE
|
|
|
- printf_with_rtclock_diff(start_received, "end storage_received (%u)\n", storage_buf.inserted);
|
|
|
+ printf_with_rtclock_diff(start_received,
|
|
|
+ "end storage_received (%u)\n", storage_buf.inserted);
|
|
|
#endif
|
|
|
}
|
|
|
|