1
1

Add an oh-so-slightly faster variant of the hotel "checkin" action

(since this is used in the fast path) for when you ''know'' that there
will be a room available:

 * Don't do the last_unoccupied_room check
 * Return void

This commit was SVN r28757.
Этот коммит содержится в:
Jeff Squyres 2013-07-11 20:00:37 +00:00
родитель baa3182794
Коммит bdb45a2e4f

Просмотреть файл

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2012-2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. All rights reserved * Copyright (c) 2012 Los Alamos National Security, LLC. All rights reserved
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -193,6 +193,27 @@ static inline int opal_hotel_checkin(opal_hotel_t *hotel,
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
/**
* Same as opal_hotel_checkin(), but slightly optimized for when the
* caller *knows* that there is a room available.
*/
static inline void opal_hotel_checkin_with_res(opal_hotel_t *hotel,
void *occupant,
int *room_num)
{
opal_hotel_room_t *room;
/* Put this occupant into the first empty room that we have */
*room_num = hotel->unoccupied_rooms[hotel->last_unoccupied_room--];
room = &(hotel->rooms[*room_num]);
assert(room->occupant == NULL);
room->occupant = occupant;
/* Assign the event and make it pending */
opal_event_add(&(room->eviction_timer_event),
&(hotel->eviction_timeout));
}
/** /**
* Check the specified occupant out of the hotel. * Check the specified occupant out of the hotel.
* *