On Apr 21, 2014, at 12:58 PM, sor...@apache.org wrote: > Repository: trafficserver > Updated Branches: > refs/heads/master 4f2dc70f0 -> 32f71df3a > > > TS-2735: Align all memory during freelist allocations > > > Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo > Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/32f71df3 > Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/32f71df3 > Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/32f71df3 > > Branch: refs/heads/master > Commit: 32f71df3a021dbeaac3aff7bf0b23c9ec5fd64f4 > Parents: 4f2dc70 > Author: Phil Sorber <sor...@apache.org> > Authored: Mon Apr 21 13:57:22 2014 -0600 > Committer: Phil Sorber <sor...@apache.org> > Committed: Mon Apr 21 13:57:22 2014 -0600 > > ---------------------------------------------------------------------- > CHANGES | 2 ++ > lib/ts/ink_queue.cc | 3 ++- > 2 files changed, 4 insertions(+), 1 deletion(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/32f71df3/CHANGES > ---------------------------------------------------------------------- > diff --git a/CHANGES b/CHANGES > index d8ef4a0..c5e21f9 100644 > --- a/CHANGES > +++ b/CHANGES > @@ -1,6 +1,8 @@ > -*- coding: utf-8 -*- > Changes with Apache Traffic Server 5.0.0 > > + *) [TS-2735] Align all memory during freelist allocations. > + > *) [TS-2120] remove stale_while_revalidate plugin. > > *) [TS-2732] Add url_sign (Signed URL's) plugin. > > http://git-wip-us.apache.org/repos/asf/trafficserver/blob/32f71df3/lib/ts/ink_queue.cc > ---------------------------------------------------------------------- > diff --git a/lib/ts/ink_queue.cc b/lib/ts/ink_queue.cc > index c94e32d..7f5c172 100644 > --- a/lib/ts/ink_queue.cc > +++ b/lib/ts/ink_queue.cc > @@ -103,7 +103,8 @@ ink_freelist_init(InkFreeList **fl, const char *name, > uint32_t type_size, > ink_assert(!(alignment & (alignment - 1))); > f->alignment = alignment; > f->chunk_size = chunk_size; > - f->type_size = type_size; > + // Make sure we align *all* the objects in the allocation, not just the > first one > + f->type_size = (type_size + (alignment - 1)) & ~(alignment - 1);
INK_ALIGN? > SET_FREELIST_POINTER_VERSION(f->head, FROM_PTR(0), 0); > > f->used = 0; >