You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/12/26 07:19:56 UTC
[GitHub] [nuttx] Gary-Hobson opened a new pull request, #7981: register notelog device
Gary-Hobson opened a new pull request, #7981:
URL: https://github.com/apache/nuttx/pull/7981
## Summary
Register notelog to the list of note drivers
## Impact
still only one note driver can be used
multi-channel functionality needs to wait for sysview changes to complete
## Testing
sim:note
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] Gary-Hobson commented on a diff in pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
Gary-Hobson commented on code in PR #7981:
URL: https://github.com/apache/nuttx/pull/7981#discussion_r1059318867
##########
include/nuttx/note/notelog_driver.h:
##########
@@ -0,0 +1,62 @@
+/****************************************************************************
+ * include/nuttx/note/notelog_driver.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_NOTE_NOTELOG_DRIVER_H
+#define __INCLUDE_NUTTX_NOTE_NOTELOG_DRIVER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <stddef.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+extern struct note_driver_s g_notelog_driver;
Review Comment:
done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7981:
URL: https://github.com/apache/nuttx/pull/7981#discussion_r1059075117
##########
include/nuttx/note/note_driver.h:
##########
@@ -103,6 +103,12 @@ struct note_driver_s
FAR const struct note_driver_ops_s *ops;
};
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+extern struct note_driver_s g_notelog_driver;
Review Comment:
but no change?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] Gary-Hobson commented on a diff in pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
Gary-Hobson commented on code in PR #7981:
URL: https://github.com/apache/nuttx/pull/7981#discussion_r1058721291
##########
drivers/note/notelog_driver.c:
##########
@@ -320,37 +410,20 @@ void sched_note_spinlock(FAR struct tcb_s *tcb,
#endif
#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL
-void sched_note_syscall_enter(int nr, int argc, ...)
+static void notelog_syscall_enter(FAR struct note_driver_s *drv, int nr)
{
- char buf[128];
- FAR char *p = buf;
- va_list ap;
-
- va_start(ap, argc);
- while (argc-- > 0)
- {
- if (argc)
- {
- p += sprintf(p, "%#"PRIxPTR", ", va_arg(ap, uintptr_t));
- }
- else
- {
- p += sprintf(p, "%#"PRIxPTR, va_arg(ap, uintptr_t));
- }
- }
-
- va_end(ap);
- syslog(LOG_INFO, "%s@%d ENTER %s\n", g_funcnames[nr], nr, buf);
+ syslog(LOG_INFO, "%s@%d ENTER %s\n", g_funcnames[nr], nr);
}
-void sched_note_syscall_leave(int nr, uintptr_t result)
+static void notelog_syscall_leave(FAR struct note_driver_s *drv, int nr)
Review Comment:
syslog is a system call, sched_note_syscall_xxx cannot be used in notelog
##########
include/nuttx/note/note_driver.h:
##########
@@ -103,6 +103,12 @@ struct note_driver_s
FAR const struct note_driver_ops_s *ops;
};
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+extern struct note_driver_s g_notelog_driver;
Review Comment:
done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] Gary-Hobson commented on a diff in pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
Gary-Hobson commented on code in PR #7981:
URL: https://github.com/apache/nuttx/pull/7981#discussion_r1059320366
##########
drivers/note/notelog_driver.c:
##########
@@ -319,36 +318,6 @@ void sched_note_spinlock(FAR struct tcb_s *tcb,
}
#endif
-#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL
-void sched_note_syscall_enter(int nr, int argc, ...)
-{
- char buf[128];
- FAR char *p = buf;
- va_list ap;
-
- va_start(ap, argc);
- while (argc-- > 0)
- {
- if (argc)
- {
- p += sprintf(p, "%#"PRIxPTR", ", va_arg(ap, uintptr_t));
- }
- else
- {
- p += sprintf(p, "%#"PRIxPTR, va_arg(ap, uintptr_t));
- }
- }
-
- va_end(ap);
- syslog(LOG_INFO, "%s@%d ENTER %s\n", g_funcnames[nr], nr, buf);
Review Comment:
This is not a good idea, it will cause a lot of unnecessary changes, and notelog is not a good way to trace
We should try to use noteram instead of notelog
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 merged pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 merged PR #7981:
URL: https://github.com/apache/nuttx/pull/7981
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7981:
URL: https://github.com/apache/nuttx/pull/7981#discussion_r1059075666
##########
include/nuttx/note/notelog_driver.h:
##########
@@ -0,0 +1,62 @@
+/****************************************************************************
+ * include/nuttx/note/notelog_driver.h
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership. The
+ * ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_NOTE_NOTELOG_DRIVER_H
+#define __INCLUDE_NUTTX_NOTE_NOTELOG_DRIVER_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <stddef.h>
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+extern struct note_driver_s g_notelog_driver;
Review Comment:
add #ifdef/#endif
##########
drivers/note/notelog_driver.c:
##########
@@ -319,36 +318,6 @@ void sched_note_spinlock(FAR struct tcb_s *tcb,
}
#endif
-#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL
-void sched_note_syscall_enter(int nr, int argc, ...)
-{
- char buf[128];
- FAR char *p = buf;
- va_list ap;
-
- va_start(ap, argc);
- while (argc-- > 0)
- {
- if (argc)
- {
- p += sprintf(p, "%#"PRIxPTR", ", va_arg(ap, uintptr_t));
- }
- else
- {
- p += sprintf(p, "%#"PRIxPTR, va_arg(ap, uintptr_t));
- }
- }
-
- va_end(ap);
- syslog(LOG_INFO, "%s@%d ENTER %s\n", g_funcnames[nr], nr, buf);
Review Comment:
let's skip the log for syslog/getpid to void the infinite recursive loop instead removing all syscall log?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [nuttx] xiaoxiang781216 commented on a diff in pull request #7981: register notelog device
Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #7981:
URL: https://github.com/apache/nuttx/pull/7981#discussion_r1058519672
##########
drivers/note/notelog_driver.c:
##########
@@ -320,37 +410,20 @@ void sched_note_spinlock(FAR struct tcb_s *tcb,
#endif
#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL
-void sched_note_syscall_enter(int nr, int argc, ...)
+static void notelog_syscall_enter(FAR struct note_driver_s *drv, int nr)
{
- char buf[128];
- FAR char *p = buf;
- va_list ap;
-
- va_start(ap, argc);
Review Comment:
why remove this
##########
include/nuttx/note/note_driver.h:
##########
@@ -103,6 +103,12 @@ struct note_driver_s
FAR const struct note_driver_ops_s *ops;
};
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+extern struct note_driver_s g_notelog_driver;
Review Comment:
should we move to notlog_driver.h
##########
drivers/note/notelog_driver.c:
##########
@@ -320,37 +410,20 @@ void sched_note_spinlock(FAR struct tcb_s *tcb,
#endif
#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL
-void sched_note_syscall_enter(int nr, int argc, ...)
Review Comment:
why remove the argument
##########
drivers/note/notelog_driver.c:
##########
@@ -320,37 +410,20 @@ void sched_note_spinlock(FAR struct tcb_s *tcb,
#endif
#ifdef CONFIG_SCHED_INSTRUMENTATION_SYSCALL
-void sched_note_syscall_enter(int nr, int argc, ...)
+static void notelog_syscall_enter(FAR struct note_driver_s *drv, int nr)
{
- char buf[128];
- FAR char *p = buf;
- va_list ap;
-
- va_start(ap, argc);
- while (argc-- > 0)
- {
- if (argc)
- {
- p += sprintf(p, "%#"PRIxPTR", ", va_arg(ap, uintptr_t));
- }
- else
- {
- p += sprintf(p, "%#"PRIxPTR, va_arg(ap, uintptr_t));
- }
- }
-
- va_end(ap);
- syslog(LOG_INFO, "%s@%d ENTER %s\n", g_funcnames[nr], nr, buf);
+ syslog(LOG_INFO, "%s@%d ENTER %s\n", g_funcnames[nr], nr);
}
-void sched_note_syscall_leave(int nr, uintptr_t result)
+static void notelog_syscall_leave(FAR struct note_driver_s *drv, int nr)
Review Comment:
why remove result
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org