....
I think it does not make full use of misalign space in front of evbuffer_chain in line 1505.
1470 in evbuffer_add(struct evbuffer *buf, const void *data_in, size_t datlen)
1471 {
....
1505 } else if ((size_t)(chain->buffer_len - chain->off) >= datlen && !CHAIN_PINNED(chain)) {