MINOR: checks: use an inline function for health_adjust()
This function is called twice per request, and does almost always nothing. Better use an inline version to avoid entering it when we can. About 0.5% additional performance was gained this way.
This commit is contained in:
parent
9e5a3aacf4
commit
9fe7aae6eb
|
@ -30,10 +30,22 @@ const char *get_check_status_info(short check_status);
|
|||
void set_server_down(struct check *check);
|
||||
void set_server_up(struct check *check);
|
||||
int start_checks();
|
||||
void health_adjust(struct server *s, short status);
|
||||
void __health_adjust(struct server *s, short status);
|
||||
|
||||
extern struct data_cb check_conn_cb;
|
||||
|
||||
/* Use this one only. This inline version only ensures that we don't
|
||||
* call the function when the observe mode is disabled.
|
||||
*/
|
||||
static inline void health_adjust(struct server *s, short status)
|
||||
{
|
||||
/* return now if observing nor health check is not enabled */
|
||||
if (!s->observe || !s->check.task)
|
||||
return;
|
||||
|
||||
return __health_adjust(s, status);
|
||||
}
|
||||
|
||||
#endif /* _PROTO_CHECKS_H */
|
||||
|
||||
/*
|
||||
|
|
|
@ -641,15 +641,14 @@ static void check_failed(struct check *check)
|
|||
set_server_down(check);
|
||||
}
|
||||
|
||||
void health_adjust(struct server *s, short status)
|
||||
/* note: use health_adjust() only, which first checks that the observe mode is
|
||||
* enabled.
|
||||
*/
|
||||
void __health_adjust(struct server *s, short status)
|
||||
{
|
||||
int failed;
|
||||
int expire;
|
||||
|
||||
/* return now if observing nor health check is not enabled */
|
||||
if (!s->observe || !s->check.task)
|
||||
return;
|
||||
|
||||
if (s->observe >= HANA_OBS_SIZE)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in New Issue