On 11-May-10 9:20 PM, Yevgeny Kliteynik wrote:
On 11-May-10 7:21 PM, Sasha Khapyorsky wrote:
On 12:06 Tue 11 May , Yevgeny Kliteynik wrote:

osm_log() always logs messages that came with OSM_LOG_SYS level,
so osm_log_is_active() should concur with this.
As a by-product of this fix, OSM_LOG_SYS messages can now be
printed with OSM_LOG macro, instead of using osm_log() directly.

Signed-off-by: Yevgeny Kliteynik<[email protected]>
---
opensm/include/opensm/osm_log.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/opensm/include/opensm/osm_log.h
b/opensm/include/opensm/osm_log.h
index b2f105a..a494bc3 100644
--- a/opensm/include/opensm/osm_log.h
+++ b/opensm/include/opensm/osm_log.h
@@ -355,7 +355,7 @@ static inline void osm_log_set_level(IN osm_log_t
* p_log,
static inline boolean_t osm_log_is_active(IN const osm_log_t * p_log,
IN osm_log_level_t level)
{
- return ((p_log->level& level) != 0);
+ return (((OSM_LOG_SYS | p_log->level)& level) != 0);
}

What about to set OSM_LOG_SYS bits in p_log->level at stage of
initialization and to remove all subsequent explicit checks? Like this
(against master):

diff --git a/opensm/opensm/osm_log.c b/opensm/opensm/osm_log.c
index 54c2f36..bd4a200 100644
--- a/opensm/opensm/osm_log.c
+++ b/opensm/opensm/osm_log.c
@@ -119,7 +119,7 @@ void osm_log(IN osm_log_t * p_log, IN
osm_log_level_t verbosity,
#endif /* __WIN__ */

/* If this is a call to syslog - always print it */
- if (!(verbosity& (OSM_LOG_SYS | p_log->level)))
+ if (!(verbosity& p_log->level))
return;

va_start(args, p_str);
@@ -306,7 +306,7 @@ ib_api_status_t osm_log_init_v2(IN osm_log_t *
p_log, IN boolean_t flush,
IN unsigned long max_size,
IN boolean_t accum_log_file)
{
- p_log->level = log_flags;
+ p_log->level = log_flags | OSM_LOG_SYS;

Sure, that should do the trick too.
Want me to send a patch, or will you do it?

OK, no answer, never mind.
I'll post the patch shortly.

-- Yevgeny
-- Yevgeny

p_log->flush = flush;
p_log->count = 0;
p_log->max_size = max_size<< 20; /* convert size in MB to bytes */


Sasha


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to