Changeset acf37bc in mainline for kernel/generic/src/syscall/syscall.c


Ignore:
Timestamp:
2009-05-15T20:22:26Z (16 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
687246b
Parents:
40a0e504
Message:

Reduce Udebug overhead with some nifty tricks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/syscall/syscall.c

    r40a0e504 racf37bc  
    6060{
    6161        unative_t rc;
     62
     63#ifdef CONFIG_UDEBUG
     64        bool debug;
     65
     66        /*
     67         * Early check for undebugged tasks. We do not lock anything as this
     68         * test need not be precise in either way.
     69         */
     70        debug = THREAD->udebug.active;
    6271       
    63 #ifdef CONFIG_UDEBUG
    64         udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
     72        if (debug) {
     73                udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false);
     74        }
    6575#endif
    6676       
     
    7787       
    7888#ifdef CONFIG_UDEBUG
    79         udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
     89        if (debug) {
     90                udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true);
    8091       
    81         /*
    82          * Stopping point needed for tasks that only invoke non-blocking
    83          * system calls.
    84          */
    85         udebug_stoppable_begin();
    86         udebug_stoppable_end();
     92                /*
     93                 * Stopping point needed for tasks that only invoke
     94                 * non-blocking system calls. Not needed if the task
     95                 * is not being debugged (it cannot block here).
     96                 */
     97                udebug_stoppable_begin();
     98                udebug_stoppable_end();
     99        }
    87100#endif
    88101       
Note: See TracChangeset for help on using the changeset viewer.