Anyone see a way to speed this function up??

Code:
void MpEvent(UINT32 eventID, UINT32 buffer)
{
    int l;
    UINT32 *row;
    if(mlb.logBuffer != NULL)
    {
        row = mlb.logBuffer[mlb.numEvent];
        row[0] = HWCLK32BIT;
        row[1] = SWCLK32BIT;
        row[2] = eventID;
        row[3] = buffer;
        ++mlb.numEvent;
        /* check to see if the end of the log buffer was reached */
        if(mlb.numEvent >= mlb.maxEvents) 
        {
            mlb.looped = TRUE;
            mlb.numEvent = 0;
        }
    }
    else 
    {
        /* We should never get here because the only way to free the log buffer 
        * is by calling MpLogFree, which turns logging off as well */
        printf("There is no buffer allocated for main path event logging\n");
    }

}
Any help appreciated...
Thanks
Bill