You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by mt...@apache.org on 2010/05/27 07:03:13 UTC
svn commit: r948670 - in /trafficserver/traffic/trunk: iocore/cache/
iocore/cluster/ iocore/dns/ iocore/eventsystem/ libinktomi++/ proxy/
proxy/logging/
Author: mturk
Date: Thu May 27 05:03:12 2010
New Revision: 948670
URL: http://svn.apache.org/viewvc?rev=948670&view=rev
Log:
TS-376: Fix align_forward and unify the alignment usage.
Add a new macros INK_ALIGN and INK_ALIGN_DEFAULT as well as using INK_MIN_ALIGN
replacing MIN_ALIGN. There are few other places in the code having weird alignmet
math which should be reviewed as well
Modified:
trafficserver/traffic/trunk/iocore/cache/Cache.cc
trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc
trafficserver/traffic/trunk/iocore/dns/DNS.cc
trafficserver/traffic/trunk/iocore/eventsystem/SocketManager.cc
trafficserver/traffic/trunk/libinktomi++/ink_align.h
trafficserver/traffic/trunk/libinktomi++/ink_resource.cc
trafficserver/traffic/trunk/proxy/AbstractBuffer.cc
trafficserver/traffic/trunk/proxy/logging/LogAccess.cc
trafficserver/traffic/trunk/proxy/logging/LogAccess.h
trafficserver/traffic/trunk/proxy/logging/LogAccessHttp.cc
trafficserver/traffic/trunk/proxy/logging/LogAccessICP.cc
trafficserver/traffic/trunk/proxy/logging/LogBuffer.cc
trafficserver/traffic/trunk/proxy/logging/LogBuffer.h
trafficserver/traffic/trunk/proxy/logging/LogField.cc
trafficserver/traffic/trunk/proxy/logging/LogFormat.cc
trafficserver/traffic/trunk/proxy/logging/LogObject.cc
trafficserver/traffic/trunk/proxy/logstats.cc
Modified: trafficserver/traffic/trunk/iocore/cache/Cache.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/cache/Cache.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/cache/Cache.cc (original)
+++ trafficserver/traffic/trunk/iocore/cache/Cache.cc Thu May 27 05:03:12 2010
@@ -1004,7 +1004,7 @@ Part::init(char *s, off_t blocks, off_t
size_t alignment = getpagesize();
size_t mem_to_alloc = part_dirlen(this) + (alignment - 1);
raw_dir = (char *) malloc(mem_to_alloc);
- raw_dir = (char *) (((unsigned int) ((char *) (raw_dir) + (alignment - 1))) & ~(alignment - 1));
+ raw_dir = (char *) align_pointer_forward(raw_dir, alignment);
#endif
dir = (Dir *) (raw_dir + part_headerlen(this));
Modified: trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc (original)
+++ trafficserver/traffic/trunk/iocore/cluster/ClusterHandlerBase.cc Thu May 27 05:03:12 2010
@@ -262,19 +262,16 @@ n_byte_bank(0), byte_bank_size(0), misse
//////////////////////////////////////////////////
// Place an invalid page in front of iovec data.
//////////////////////////////////////////////////
- int pagesize = getpagesize();
+ size_t pagesize = (size_t) getpagesize();
size = ((MAX_TCOUNT + 1) * sizeof(IOVec)) + (2 * pagesize);
iob_iov = new_IOBufferData(BUFFER_SIZE_FOR_XMALLOC(size));
- iov = (IOVec *) iob_iov->data();
- // TODO: This is align_pointer_forward
- ptrdiff_t page_addr = ((ptrdiff_t) iov + (ptrdiff_t) pagesize) & ~((ptrdiff_t) pagesize - 1);
- iov = (IOVec *) ((ptrdiff_t) page_addr);
+ char *addr = (char *) align_pointer_forward(iob_iov->data(), pagesize);
#if (defined(__sparc) || defined(__alpha))
- if (mprotect((char *) page_addr, pagesize, PROT_NONE))
+ if (mprotect(addr, pagesize, PROT_NONE))
perror("ClusterState mprotect0 failed");
#endif
- iov = (IOVec *) ((char *) iov + pagesize);
+ iov = (IOVec *) (addr + pagesize);
///////////////////////////////////////////////////
// Place an invalid page in front of message data.
@@ -284,16 +281,15 @@ n_byte_bank(0), byte_bank_size(0), misse
msg.iob_descriptor_block = new_IOBufferBlock();
msg.iob_descriptor_block->alloc(BUFFER_SIZE_FOR_XMALLOC(size));
- char *a = msg.iob_descriptor_block->data->data();
- page_addr = ((ptrdiff_t) a + (ptrdiff_t) pagesize) & ~((ptrdiff_t) pagesize - 1);
+ addr = (char *) align_pointer_forward(msg.iob_descriptor_block->data->data(), pagesize);
#if (defined(__sparc) || defined(__alpha))
- if (mprotect((char *) page_addr, pagesize, PROT_NONE))
+ if (mprotect(addr, pagesize, PROT_NONE))
perror("ClusterState mprotect failed");
#endif
- a = (char *) ((ptrdiff_t) page_addr + (ptrdiff_t) pagesize);
- memset(a, 0, size - (2 * pagesize));
- msg.descriptor = (Descriptor *) (a + sizeof(ClusterMsgHeader));
+ addr = addr + pagesize;
+ memset(addr, 0, size - (2 * pagesize));
+ msg.descriptor = (Descriptor *) (addr + sizeof(ClusterMsgHeader));
mbuf = new_empty_MIOBuffer();
}
Modified: trafficserver/traffic/trunk/iocore/dns/DNS.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/dns/DNS.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/dns/DNS.cc (original)
+++ trafficserver/traffic/trunk/iocore/dns/DNS.cc Thu May 27 05:03:12 2010
@@ -1438,7 +1438,7 @@ dns_process(DNSHandler * handler, HostEn
*hap++ = cp;
cp += n;
} else {
- bp = (unsigned char *) align_pointer_forward(bp, INK_ALIGN_INT);
+ bp = (unsigned char *) align_pointer_forward(bp, sizeof(int));
if (bp + n >= buf->hostbuf + DNS_HOSTBUF_SIZE) {
++error;
break;
Modified: trafficserver/traffic/trunk/iocore/eventsystem/SocketManager.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/eventsystem/SocketManager.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/eventsystem/SocketManager.cc (original)
+++ trafficserver/traffic/trunk/iocore/eventsystem/SocketManager.cc Thu May 27 05:03:12 2010
@@ -81,6 +81,7 @@ int
safe_msync(caddr_t addr, size_t len, caddr_t end, int flags)
{
(void) end;
+ // TODO: This is some sort of alignment
caddr_t a = (caddr_t) (((unsigned long) addr) & ~(socketManager.pagesize - 1));
size_t l = (len + (addr - a) + socketManager.pagesize - 1)
& ~(socketManager.pagesize - 1);
Modified: trafficserver/traffic/trunk/libinktomi++/ink_align.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/libinktomi%2B%2B/ink_align.h?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/libinktomi++/ink_align.h (original)
+++ trafficserver/traffic/trunk/libinktomi++/ink_align.h Thu May 27 05:03:12 2010
@@ -25,47 +25,51 @@
#ifndef _ink_align_h_
#define _ink_align_h_
-#define INK_ALIGN_LONG (sizeof(long) - 1)
-#define INK_ALIGN_DOUBLE (sizeof(double) - 1)
-#define INK_ALIGN_INT (sizeof(int) - 1)
-#define INK_ALIGN_SHORT (sizeof(short)-1)
+/**
+ * Alignment macros
+ */
+
+#define INK_MIN_ALIGN 8
+/* INK_ALIGN() is only to be used to align on a power of 2 boundary */
+#define INK_ALIGN(size, boundary) \
+ (((size) + ((boundary) - 1)) & ~((boundary) - 1))
+
+/** Default alignment */
+#define INK_ALIGN_DEFAULT(size) INK_ALIGN(size, INK_MIN_ALIGN)
//
-// Move a pointer forward until it meets the alignment width
-// specified (as a mask).
+// Move a pointer forward until it meets the alignment width.
//
-
static inline void *
-align_pointer_forward(const void *pointer_, int widthmask)
+align_pointer_forward(const void *pointer_, size_t alignment)
{
char *pointer = (char *) pointer_;
//
// Round up alignment..
//
- pointer = (char *)
- (((unsigned long) pointer + widthmask) & (~widthmask));
+ pointer = (char *) INK_ALIGN((ptrdiff_t) pointer, alignment);
return (void *) pointer;
}
//
-// Move a pointer forward until it meets the alignment width specified
-// (as a mask), and zero out the contents of the space you're skipping
-// over.
+// Move a pointer forward until it meets the alignment width specified,
+// and zero out the contents of the space you're skipping over.
//
static inline void *
-align_pointer_forward_and_zero(const void *pointer_, int widthmask)
+align_pointer_forward_and_zero(const void *pointer_, size_t alignment)
{
char *pointer = (char *) pointer_;
+ char *aligned = (char *) INK_ALIGN((ptrdiff_t) pointer, alignment);
//
- // Round up alignment..
+ // Fill the skippings..
//
- while ((((unsigned long) pointer) & widthmask) != 0) {
+ while (pointer < aligned) {
*pointer = 0;
pointer++;
}
- return (void *) pointer;
+ return (void *) aligned;
}
//
Modified: trafficserver/traffic/trunk/libinktomi++/ink_resource.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/libinktomi%2B%2B/ink_resource.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/libinktomi++/ink_resource.cc (original)
+++ trafficserver/traffic/trunk/libinktomi++/ink_resource.cc Thu May 27 05:03:12 2010
@@ -36,7 +36,9 @@ volatile int res_track_memory = RES_TRAC
#define FENCE_POST_SIZE 16
+// TODO: Move this to ink_align.h
#define ADJUST(mem,x) (((char*) (mem)) + x)
+// TODO: Use INK_ALIGN instead
#define ROUND(x,l) (((x) + ((l) - 1L)) & ~((l) - 1L))
#define TSIZE 16387
Modified: trafficserver/traffic/trunk/proxy/AbstractBuffer.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/AbstractBuffer.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/AbstractBuffer.cc (original)
+++ trafficserver/traffic/trunk/proxy/AbstractBuffer.cc Thu May 27 05:03:12 2010
@@ -40,7 +40,7 @@ ABError AbstractBuffer::checkout_write(i
VolatileState
new_vs;
- write_size = (write_size + (alignment - 1)) & ~(alignment - 1);
+ write_size = INK_ALIGN(write_size, alignment);
// Initialize the buffer if it currently isn't in use.
old_vs = vs;
@@ -192,7 +192,7 @@ AbstractBuffer::initialize()
if (!unaligned_buffer) {
unaligned_buffer = NEW(new char[size + 511]);
- buffer = (char *) align_pointer_forward(unaligned_buffer, 511);
+ buffer = (char *) align_pointer_forward(unaligned_buffer, 512);
}
vs_history[AB_STATE_READ_WRITE] = vs;
Modified: trafficserver/traffic/trunk/proxy/logging/LogAccess.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogAccess.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogAccess.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogAccess.cc Thu May 27 05:03:12 2010
@@ -180,9 +180,9 @@ LogAccess::marshal_client_req_http_versi
LOG_INT major = 0;
LOG_INT minor = 0;
marshal_int(buf, major);
- marshal_int((buf + MIN_ALIGN), minor);
+ marshal_int((buf + INK_MIN_ALIGN), minor);
}
- return (2 * MIN_ALIGN);
+ return (2 * INK_MIN_ALIGN);
}
/*-------------------------------------------------------------------------
@@ -463,9 +463,9 @@ LogAccess::marshal_server_resp_http_vers
LOG_INT major = 0;
LOG_INT minor = 0;
marshal_int(buf, major);
- marshal_int((buf + MIN_ALIGN), minor);
+ marshal_int((buf + INK_MIN_ALIGN), minor);
}
- return (2 * MIN_ALIGN);
+ return (2 * INK_MIN_ALIGN);
}
int
@@ -771,7 +771,7 @@ LogAccess::marshal_entry_type(char *buf)
LOG_INT val = (LOG_INT) entry_type();
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -784,7 +784,7 @@ LogAccess::marshal_config_int_var(char *
LOG_INT val = (LOG_INT) LOG_ConfigReadInteger(config_var);
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -968,7 +968,7 @@ LogAccess::marshal_record(char *record,
LogAccess::marshal_int
Place the given value into the buffer. Note that the buffer needs to be
- aligned with the size of MIN_ALIGN for this to succeed. We also convert
+ aligned with the size of INK_MIN_ALIGN for this to succeed. We also convert
to network byte order, just in case we read the data on a different
machine; unmarshal_int() will convert back to host byte order.
@@ -1100,7 +1100,7 @@ LOG_INT LogAccess::unmarshal_int(char **
val;
val = ntohl(*((LOG_INT *) (*buf)));
- *buf += MIN_ALIGN;
+ *buf += INK_MIN_ALIGN;
return val;
}
Modified: trafficserver/traffic/trunk/proxy/logging/LogAccess.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogAccess.h?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogAccess.h (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogAccess.h Thu May 27 05:03:12 2010
@@ -66,7 +66,7 @@
LOG_INT val = what_the_value_should_be;
marshal_int (buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
String values don't need byte swapping, but we do want to ensure things
@@ -91,27 +91,24 @@
#include "ink_bool.h"
-#define LOG_ACCESS_ROUND_TO(x,l) (((x) + ((l) - 1L)) & ~((l) - 1L))
-
#define LOG_INT unsigned
-#define MIN_ALIGN 8
-// DEFAULT_STR_LEN MUST be less than MIN_ALIGN
+// DEFAULT_STR_LEN MUST be less than INK_MIN_ALIGN
#define DEFAULT_STR "-"
#define DEFAULT_STR_LEN 1
#define DEFAULT_INT_FIELD {\
if (buf) { \
- LOG_INT i = 0; \
- marshal_int (buf, i); \
+ LOG_INT i = 0; \
+ marshal_int (buf, i); \
} \
- return MIN_ALIGN; \
+ return INK_MIN_ALIGN; \
}
#define DEFAULT_STR_FIELD {\
char * str = NULL; \
- int len = MIN_ALIGN; \
+ int len = INK_MIN_ALIGN; \
if (buf) { \
- marshal_str (buf, str, len); \
+ marshal_str (buf, str, len); \
} \
return (len); \
}
@@ -121,7 +118,7 @@
// ints + sign + eos, and enough for %e floating point representation
// + eos
//
-#define MARSHAL_RECORD_LENGTH LOG_ACCESS_ROUND_TO(32, MIN_ALIGN)
+#define MARSHAL_RECORD_LENGTH 32
enum LogEntryType
{
@@ -340,7 +337,7 @@ private:
inline int
LogAccess::round_strlen(int len)
{
- return LOG_ACCESS_ROUND_TO(len, MIN_ALIGN);
+ return INK_ALIGN_DEFAULT(len);
}
/*-------------------------------------------------------------------------
Modified: trafficserver/traffic/trunk/proxy/logging/LogAccessHttp.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogAccessHttp.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogAccessHttp.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogAccessHttp.cc Thu May 27 05:03:12 2010
@@ -146,7 +146,7 @@ LogAccessHttp::marshal_client_host_ip(ch
// is needed
marshal_int_no_byte_order_conversion(buf, ip);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -157,7 +157,7 @@ int
LogAccessHttp::marshal_client_auth_user_name(char *buf)
{
char *str = NULL;
- int len = MIN_ALIGN;
+ int len = INK_MIN_ALIGN;
// Jira TS-40:
// NOTE: Authentication related code and modules were removed/disabled.
@@ -261,7 +261,7 @@ LogAccessHttp::marshal_client_req_http_m
{
char *str = NULL;
int alen = 0;
- int plen = MIN_ALIGN;
+ int plen = INK_MIN_ALIGN;
if (m_client_request) {
str = (char *) m_client_request->method_get(&alen);
@@ -361,7 +361,7 @@ LogAccessHttp::marshal_client_req_url_sc
{
char *str = NULL;
int alen = 0;
- int plen = MIN_ALIGN;
+ int plen = INK_MIN_ALIGN;
if (m_url) {
str = (char *) m_url->scheme_get(&alen);
@@ -400,9 +400,9 @@ LogAccessHttp::marshal_client_req_http_v
minor = HTTP_MINOR(versionObject.m_version);
}
marshal_int(buf, major);
- marshal_int((buf + MIN_ALIGN), minor);
+ marshal_int((buf + INK_MIN_ALIGN), minor);
}
- return (2 * MIN_ALIGN);
+ return (2 * INK_MIN_ALIGN);
}
/*-------------------------------------------------------------------------
@@ -418,7 +418,7 @@ LogAccessHttp::marshal_client_req_header
}
marshal_int(buf, len);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -434,7 +434,7 @@ LogAccessHttp::marshal_client_req_body_l
}
marshal_int(buf, len);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
@@ -455,7 +455,7 @@ LogAccessHttp::marshal_client_finish_sta
}
marshal_int(buf, code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -482,7 +482,7 @@ LogAccessHttp::marshal_proxy_resp_squid_
LOG_INT val = m_http_sm->client_response_hdr_bytes + m_http_sm->client_response_body_bytes;
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -495,7 +495,7 @@ LogAccessHttp::marshal_proxy_resp_conten
LOG_INT val = m_http_sm->client_response_body_bytes;
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -523,7 +523,7 @@ LogAccessHttp::marshal_proxy_resp_status
}
marshal_int(buf, (LOG_INT) status);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -539,7 +539,7 @@ LogAccessHttp::marshal_proxy_resp_header
}
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
@@ -570,7 +570,7 @@ LogAccessHttp::marshal_proxy_finish_stat
marshal_int(buf, code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -583,7 +583,7 @@ LogAccessHttp::marshal_cache_result_code
SquidLogCode code = m_http_sm->t_state.squid_codes.log_code;
marshal_int(buf, (LOG_INT) code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -599,7 +599,7 @@ LogAccessHttp::marshal_proxy_req_header_
}
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -615,14 +615,14 @@ LogAccessHttp::marshal_proxy_req_body_le
}
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
LogAccessHttp::marshal_proxy_req_server_name(char *buf)
{
char *str = NULL;
- int len = MIN_ALIGN;
+ int len = INK_MIN_ALIGN;
if (m_http_sm->t_state.current.server) {
str = m_http_sm->t_state.current.server->name;
@@ -647,7 +647,7 @@ LogAccessHttp::marshal_proxy_req_server_
// is needed
marshal_int_no_byte_order_conversion(buf, (LOG_INT) the_ip);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -660,7 +660,7 @@ LogAccessHttp::marshal_proxy_hierarchy_r
SquidHierarchyCode code = m_http_sm->t_state.squid_codes.hier_code;
marshal_int(buf, (LOG_INT) code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -681,7 +681,7 @@ LogAccessHttp::marshal_server_host_ip(ch
// is needed
marshal_int_no_byte_order_conversion(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
@@ -692,7 +692,7 @@ int
LogAccessHttp::marshal_server_host_name(char *buf)
{
char *str = NULL;
- int padded_len = MIN_ALIGN;
+ int padded_len = INK_MIN_ALIGN;
int actual_len = 0;
if (m_client_request) {
@@ -708,7 +708,7 @@ LogAccessHttp::marshal_server_host_name(
} else {
str = NULL;
actual_len = 0;
- padded_len = MIN_ALIGN;
+ padded_len = INK_MIN_ALIGN;
}
}
if (buf) {
@@ -725,7 +725,7 @@ int
LogAccessHttp::marshal_client_accelerator_id(char *buf)
{
char *str = NULL;
- int padded_len = MIN_ALIGN;
+ int padded_len = INK_MIN_ALIGN;
int actual_len = 0;
if (Log::config->xuid_logging_enabled) {
@@ -740,13 +740,13 @@ LogAccessHttp::marshal_client_accelerato
} else {
str = NULL;
actual_len = 0;
- padded_len = MIN_ALIGN;
+ padded_len = INK_MIN_ALIGN;
}
}
} else {
str = NULL;
actual_len = 0;
- padded_len = MIN_ALIGN;
+ padded_len = INK_MIN_ALIGN;
}
if (buf) {
@@ -771,7 +771,7 @@ LogAccessHttp::marshal_server_resp_statu
}
marshal_int(buf, (LOG_INT) status);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -787,7 +787,7 @@ LogAccessHttp::marshal_server_resp_conte
}
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -803,7 +803,7 @@ LogAccessHttp::marshal_server_resp_heade
}
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
@@ -817,9 +817,9 @@ LogAccessHttp::marshal_server_resp_http_
minor = HTTP_MINOR(m_server_response->version_get().m_version);
}
marshal_int(buf, major);
- marshal_int((buf + MIN_ALIGN), minor);
+ marshal_int((buf + INK_MIN_ALIGN), minor);
}
- return (2 * MIN_ALIGN);
+ return (2 * INK_MIN_ALIGN);
}
int
@@ -829,7 +829,7 @@ LogAccessHttp::marshal_client_retry_afte
LOG_INT crat = m_http_sm->t_state.congestion_control_crat;
marshal_int(buf, crat);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
static LogCacheWriteCodeType
@@ -877,7 +877,7 @@ LogAccessHttp::marshal_cache_write_code(
marshal_int(buf, code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
@@ -890,7 +890,7 @@ LogAccessHttp::marshal_cache_write_trans
marshal_int(buf, code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
@@ -906,7 +906,7 @@ LogAccessHttp::marshal_transfer_time_ms(
LOG_INT val = (LOG_INT) elapsed;
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
@@ -918,7 +918,7 @@ LogAccessHttp::marshal_transfer_time_s(c
LOG_INT val = (LOG_INT) elapsed;
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -928,7 +928,7 @@ int
LogAccessHttp::marshal_http_header_field(LogField::Container container, char *field, char *buf)
{
char *str = NULL;
- int padded_len = MIN_ALIGN;
+ int padded_len = INK_MIN_ALIGN;
int actual_len = 0;
bool valid_field = false;
HTTPHdr *header;
@@ -1012,7 +1012,7 @@ LogAccessHttp::marshal_http_header_field
}
if (valid_field == false) {
- padded_len = MIN_ALIGN;
+ padded_len = INK_MIN_ALIGN;
if (buf) {
marshal_str(buf, NULL, padded_len);
}
@@ -1025,7 +1025,7 @@ int
LogAccessHttp::marshal_http_header_field_escapify(LogField::Container container, char *field, char *buf)
{
char *str = NULL, *new_str = NULL;
- int padded_len = MIN_ALIGN;
+ int padded_len = INK_MIN_ALIGN;
int actual_len = 0, new_len = 0;
bool valid_field = false;
HTTPHdr *header;
@@ -1110,7 +1110,7 @@ LogAccessHttp::marshal_http_header_field
}
if (valid_field == false) {
- padded_len = MIN_ALIGN;
+ padded_len = INK_MIN_ALIGN;
if (buf) {
marshal_str(buf, NULL, padded_len);
}
Modified: trafficserver/traffic/trunk/proxy/logging/LogAccessICP.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogAccessICP.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogAccessICP.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogAccessICP.cc Thu May 27 05:03:12 2010
@@ -73,7 +73,7 @@ LogAccessICP::marshal_client_host_ip(cha
// ip is already in network order
marshal_int_no_byte_order_conversion(buf, ip);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -189,7 +189,7 @@ LogAccessICP::marshal_proxy_resp_squid_l
LOG_INT val = m_icp_log->GetSize();
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -202,7 +202,7 @@ LogAccessICP::marshal_proxy_resp_content
LOG_INT val = m_icp_log->GetSize();
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -215,7 +215,7 @@ LogAccessICP::marshal_proxy_resp_status_
LOG_INT status = 0; // '000' for ICP
marshal_int(buf, status);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -228,7 +228,7 @@ LogAccessICP::marshal_cache_result_code(
SquidLogCode code = m_icp_log->GetAction();
marshal_int(buf, (LOG_INT) code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -241,7 +241,7 @@ LogAccessICP::marshal_proxy_hierarchy_ro
SquidHierarchyCode code = m_icp_log->GetHierarchy();
marshal_int(buf, (LOG_INT) code);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -270,7 +270,7 @@ LogAccessICP::marshal_transfer_time_ms(c
LOG_INT val = (LOG_INT) elapsed;
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
int
@@ -282,6 +282,6 @@ LogAccessICP::marshal_transfer_time_s(ch
LOG_INT val = (LOG_INT) elapsed;
marshal_int(buf, val);
}
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
#endif // TS_MICRO
Modified: trafficserver/traffic/trunk/proxy/logging/LogBuffer.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogBuffer.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogBuffer.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogBuffer.cc Thu May 27 05:03:12 2010
@@ -265,26 +265,26 @@ LogBufferHeader::log_filename()
zero it inside 'operator new', Save CPU resources! :)
-------------------------------------------------------------------------*/
-LogBuffer::LogBuffer(LogObject * owner, size_t size, int buf_align_mask, int write_align_mask):
+LogBuffer::LogBuffer(LogObject * owner, size_t size, size_t buf_align, size_t write_align):
sign(CLASS_SIGN_LOGBUFFER),
next_flush(NULL),
next_list(NULL),
m_new_buffer(NULL),
m_size(size),
- m_buf_align_mask(buf_align_mask),
- m_write_align_mask(write_align_mask), m_max_entries(Log::config->max_entries_per_buffer), m_owner(owner)
+ m_buf_align(buf_align),
+ m_write_align(write_align), m_max_entries(Log::config->max_entries_per_buffer), m_owner(owner)
{
size_t hdr_size;
-// Debug("log2-logbuffer","LogBuffer::LogBuffer(owner,size=%ld, buf_align_mask=%d,write_align_mask=%d)",
-// size,buf_align_mask,write_align_mask);
+// Debug("log2-logbuffer","LogBuffer::LogBuffer(owner,size=%ld, buf_align=%ld,write_align=%ld)",
+// size,buf_align,write_align);
- // create the buffer: size + LB_DEFAULT_ALIGN_MASK(511)
- m_bb = iLogBufferBuffer::New_iLogBufferBuffer(size + buf_align_mask);
+ // create the buffer: size + LB_DEFAULT_ALIGN(512)
+ m_bb = iLogBufferBuffer::New_iLogBufferBuffer(size + buf_align);
ink_assert(m_bb != NULL);
m_unaligned_buffer = m_bb->buf;
- m_buffer = (char *) align_pointer_forward(m_unaligned_buffer, buf_align_mask);
+ m_buffer = (char *) align_pointer_forward(m_unaligned_buffer, buf_align);
// add the header
hdr_size = _add_buffer_header();
@@ -310,8 +310,8 @@ LogBuffer::LogBuffer(LogObject * owner,
m_unaligned_buffer(NULL),
m_buffer((char *) header),
m_size(0),
- m_buf_align_mask(LB_DEFAULT_ALIGN_MASK),
- m_write_align_mask(MIN_ALIGN - 1), m_max_entries(0), m_expiration_time(0), m_owner(owner), m_header(header)
+ m_buf_align(LB_DEFAULT_ALIGN),
+ m_write_align(INK_MIN_ALIGN), m_max_entries(0), m_expiration_time(0), m_owner(owner), m_header(header)
{
// This constructor does not allocate a buffer because it gets it as
// an argument. We set m_unaligned_buffer to NULL, which means that
@@ -372,8 +372,7 @@ LogBuffer::LB_ResultCode LogBuffer::chec
new_s;
size_t
offset = 0;
- size_t
- actual_write_size = (write_size + sizeof(LogEntryHeader) + m_write_align_mask) & ~m_write_align_mask;
+ size_t actual_write_size = INK_ALIGN(write_size + sizeof(LogEntryHeader), m_write_align);
uint64
retries = (uint64) - 1;
@@ -586,9 +585,7 @@ LogBuffer::_add_buffer_header()
// alignment mark.
//
-#define __ROUND_TO(x,l) (((x) + ((l) - 1L)) & ~((l) - 1L))
- header_len = __ROUND_TO(header_len, MIN_ALIGN);
-#undef __ROUND_TO
+ header_len = INK_ALIGN_DEFAULT(header_len);
m_header->byte_count = header_len;
m_header->data_offset = header_len;
@@ -705,7 +702,7 @@ LogBuffer::resolve_custom_entry(LogField
res = LogAccess::unmarshal_int_to_str(&ptr, to, write_to_len - bytes_written);
if (buffer_version > 1) {
// space was reserved in read buffer; remove it
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
}
non_aggregate_timestamp = true;
@@ -719,7 +716,7 @@ LogBuffer::resolve_custom_entry(LogField
res = LogAccess::unmarshal_int_to_str_hex(&ptr, to, write_to_len - bytes_written);
if (buffer_version > 1) {
// space was reserved in read buffer; remove it
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
}
non_aggregate_timestamp = true;
@@ -732,7 +729,7 @@ LogBuffer::resolve_custom_entry(LogField
if (buffer_version > 1) {
// space was reserved in read buffer; remove it
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
}
non_aggregate_timestamp = true;
@@ -748,7 +745,7 @@ LogBuffer::resolve_custom_entry(LogField
}
if (buffer_version > 1) {
// space was reserved in read buffer; remove it
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
}
non_aggregate_timestamp = true;
@@ -764,7 +761,7 @@ LogBuffer::resolve_custom_entry(LogField
}
if (buffer_version > 1) {
// space was reserved in read buffer; remove it
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
}
non_aggregate_timestamp = true;
@@ -780,7 +777,7 @@ LogBuffer::resolve_custom_entry(LogField
}
if (buffer_version > 1) {
// space was reserved in read buffer; remove it
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
}
non_aggregate_timestamp = true;
Modified: trafficserver/traffic/trunk/proxy/logging/LogBuffer.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogBuffer.h?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogBuffer.h (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogBuffer.h Thu May 27 05:03:12 2010
@@ -40,9 +40,9 @@ class LogBufferIterator;
#define LOG_SEGMENT_VERSION 2
#if defined(linux)
-#define LB_DEFAULT_ALIGN_MASK 511
+#define LB_DEFAULT_ALIGN 512
#else
-#define LB_DEFAULT_ALIGN_MASK INK_ALIGN_INT
+#define LB_DEFAULT_ALIGN 8
#endif
/*-------------------------------------------------------------------------
@@ -243,7 +243,7 @@ public:
};
LogBuffer(LogObject * owner, size_t size,
- int buf_align_mask = LB_DEFAULT_ALIGN_MASK, int write_align_mask = MIN_ALIGN - 1);
+ size_t buf_align = LB_DEFAULT_ALIGN, size_t write_align = INK_MIN_ALIGN);
LogBuffer(LogObject * owner, LogBufferHeader * header);
~LogBuffer();
char &operator [] (int idx)
@@ -309,8 +309,8 @@ private:
char *m_unaligned_buffer; // the unaligned buffer
char *m_buffer; // the buffer
size_t m_size; // the buffer size
- int m_buf_align_mask; // the buffer alignment mask
- int m_write_align_mask; // the write alignment mask
+ size_t m_buf_align; // the buffer alignment
+ size_t m_write_align; // the write alignment mask
volatile LB_State m_state; // buffer state
Modified: trafficserver/traffic/trunk/proxy/logging/LogField.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogField.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogField.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogField.cc Thu May 27 05:03:12 2010
@@ -334,7 +334,7 @@ LogField::marshal_agg(char *buf)
m_agg_val = 0;
m_agg_cnt = 0;
- return MIN_ALIGN;
+ return INK_MIN_ALIGN;
}
/*-------------------------------------------------------------------------
@@ -502,7 +502,7 @@ LogFieldList::add(LogField * field, bool
}
if (field->type() == LogField::sINT) {
- m_marshal_len += MIN_ALIGN;
+ m_marshal_len += INK_MIN_ALIGN;
}
}
@@ -559,7 +559,7 @@ LogFieldList::marshal(LogAccess * lad, c
for (LogField * f = first(); f; f = next(f)) {
ptr = &buf[bytes];
bytes += f->marshal(lad, ptr);
- ink_debug_assert(bytes % MIN_ALIGN == 0);
+ ink_debug_assert(bytes % INK_MIN_ALIGN == 0);
}
return bytes;
}
Modified: trafficserver/traffic/trunk/proxy/logging/LogFormat.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogFormat.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogFormat.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogFormat.cc Thu May 27 05:03:12 2010
@@ -154,7 +154,7 @@ LogFormat::init_variables(const char *na
m_valid = false;
} else {
if (m_aggregate) {
- m_agg_marshal_space = (char *) xmalloc(m_field_count * MIN_ALIGN);
+ m_agg_marshal_space = (char *) xmalloc(m_field_count * INK_MIN_ALIGN);
}
if (m_name_str) {
Modified: trafficserver/traffic/trunk/proxy/logging/LogObject.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logging/LogObject.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logging/LogObject.cc (original)
+++ trafficserver/traffic/trunk/proxy/logging/LogObject.cc Thu May 27 05:03:12 2010
@@ -500,7 +500,7 @@ LogObject::log(LogAccess * lad, char *te
// convert to host order to do computations
val = (f->is_time_field())? time_now : ntohl(*((LOG_INT *) data_ptr));
f->update_aggregate(val);
- data_ptr += MIN_ALIGN;
+ data_ptr += INK_MIN_ALIGN;
}
if (time_now < m_format->m_interval_next) {
@@ -509,8 +509,8 @@ LogObject::log(LogAccess * lad, char *te
return Log::LOG_OK;
}
// can easily compute bytes_needed because all fields are INTs
- // and will use MIN_ALIGN each
- bytes_needed = m_format->field_count() * MIN_ALIGN;
+ // and will use INK_MIN_ALIGN each
+ bytes_needed = m_format->field_count() * INK_MIN_ALIGN;
} else if (lad) {
bytes_needed = m_format->m_field_list.marshal_len(lad);
} else if (text_entry) {
Modified: trafficserver/traffic/trunk/proxy/logstats.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/logstats.cc?rev=948670&r1=948669&r2=948670&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/logstats.cc (original)
+++ trafficserver/traffic/trunk/proxy/logstats.cc Thu May 27 05:03:12 2010
@@ -684,7 +684,7 @@ parse_log_buff(LogBufferHeader * buf_hea
read_from = (char *) entry + sizeof(LogEntryHeader);
// We read and skip over the first field, which is the timestamp.
if ((field = fieldlist->first()))
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
else // This shouldn't happen, buffer must be messed up.
break;
@@ -699,7 +699,7 @@ parse_log_buff(LogBufferHeader * buf_hea
case P_STATE_ELAPSED:
state = P_STATE_IP;
elapsed = ntohl(*((LOG_INT *) (read_from)));
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
break;
case P_STATE_IP:
@@ -714,7 +714,7 @@ parse_log_buff(LogBufferHeader * buf_hea
case P_STATE_RESULT:
state = P_STATE_CODE;
result = ntohl(*((LOG_INT *) (read_from)));
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
if ((result<32) || (result> 255)) {
flag = 1;
state = P_STATE_END;
@@ -724,7 +724,7 @@ parse_log_buff(LogBufferHeader * buf_hea
case P_STATE_CODE:
state = P_STATE_SIZE;
http_code = ntohl(*((LOG_INT *) (read_from)));
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
if ((http_code<0) || (http_code> 999)) {
flag = 1;
state = P_STATE_END;
@@ -737,7 +737,7 @@ parse_log_buff(LogBufferHeader * buf_hea
// this needs to be fixed as well.
state = P_STATE_METHOD;
size = ntohl(*((LOG_INT *) (read_from)));
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
//printf("Size == %d\n", size)
break;
@@ -907,7 +907,7 @@ parse_log_buff(LogBufferHeader * buf_hea
}
break;
}
- read_from += MIN_ALIGN;
+ read_from += INK_MIN_ALIGN;
break;
case P_STATE_PEER: