summaryrefslogtreecommitdiffstats
path: root/src/usr/trace/tracebuffer.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/trace/tracebuffer.C')
-rw-r--r--src/usr/trace/tracebuffer.C77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/usr/trace/tracebuffer.C b/src/usr/trace/tracebuffer.C
deleted file mode 100644
index 7eda6ae25..000000000
--- a/src/usr/trace/tracebuffer.C
+++ /dev/null
@@ -1,77 +0,0 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/usr/trace/tracebuffer.C $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
-#include <limits.h>
-#include "tracebuffer.H"
-
-TracePage* TracePage::setNext(TracePage* new_next)
-{
- return __sync_val_compare_and_swap(&this->next, NULL, new_next);
-}
-
-traceEntry* TracePage::claimEntry(size_t size)
-{
- // this->size will eventually wrap and it will suddenly look like there
- // is free space?
- size_t position = __sync_fetch_and_add(&this->size, size);
- if (position > (PAGE_SIZE - sizeof(TracePage)))
- {
- return NULL;
- }
- else
- {
- return (traceEntry*)&((uint8_t*)this)[sizeof(TracePage) + position];
- }
-}
-
-traceEntry* TraceBuffer::claimEntry(size_t size)
-{
- traceEntry* result = NULL;
- TracePage* page = last;
-
- while (result == NULL)
- {
- result = page->claimEntry(size);
-
- if (NULL == result)
- {
- if (NULL != page->getNext())
- {
- __sync_bool_compare_and_swap(&this->last,
- page, page->getNext());
- page = page->getNext();
- }
- else
- {
- TracePage* new_page = new (malloc(PAGE_SIZE)) TracePage();
- TracePage* prev = page;
-
- while(prev != NULL)
- {
- prev = prev->setNext(new_page);
- }
- }
- }
- }
-
- return result;
-}
OpenPOWER on IntegriCloud