lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #55199] ppp: inefficient debug disable


From: Sergey A. Borshch
Subject: [lwip-devel] [bug #55199] ppp: inefficient debug disable
Date: Mon, 10 Dec 2018 18:23:01 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.113 Safari/537.36 Vivaldi/2.1.1337.51

URL:
  <https://savannah.nongnu.org/bugs/?55199>

                 Summary: ppp: inefficient debug disable
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: dushevny
            Submitted on: Mon 10 Dec 2018 11:22:59 PM UTC
                Category: PPP
                Severity: 3 - Normal
              Item Group: Change Request
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
            lwIP version: git head

    _______________________________________________________

Details:

Even in PPP debug output disabled by not defining PPP_DEBUG macro,
ppp_dbglog(), ppp_info(), ppp_notice() etc. functions calls ppp_logit()
function, which allocates 1024 bytes on stack, wastes CPU time in
ppp_vslprintf() and calls ppp_log_write(), where debug output is actually
disabled by PPPDEBUG() defined to empty code. Additionally all ppp debug
strings are also linked into resulting executable. Replacing debug functions
declaration in ppp_impl.h with 
#if PPP_DEBUG
void ppp_dbglog(const char *fmt, ...);    /* log a debug message */
void ppp_info(const char *fmt, ...);      /* log an informational message */
void ppp_notice(const char *fmt, ...);    /* log a notice-level message */
void ppp_warn(const char *fmt, ...);      /* log a warning message */
void ppp_error(const char *fmt, ...);     /* log an error message */
void ppp_fatal(const char *fmt, ...);     /* log an error message and die(1)
*/
#else
#define ppp_dbglog(...)     do {} while(0)  /* log a debug message */
#define ppp_info(...)       do {} while(0)  /* log an informational message
*/
#define ppp_notice(...)     do {} while(0)  /* log a notice-level message */
#define ppp_warn(...)       do {} while(0)  /* log a warning message */
#define ppp_error(...)      do {} while(0)  /* log an error message */
#define ppp_fatal(...)      do {} while(0)  /* log an error message and die(1)
*/
#endif
and small sources tuning to suppress warnings about unused variables reduces
executable size for more than 5 Kbytes on Cortex-M3 target, saves more than 1
K RAM on lwip main process stack and makes code faster by not executing
needless code.





    _______________________________________________________

Reply to this item at:

  <https://savannah.nongnu.org/bugs/?55199>

_______________________________________________
  Message sent via Savannah
  https://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]