xiaoxiang781216 merged PR #11165:
URL: https://github.com/apache/nuttx/pull/11165
--
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:
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1393798174
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1393736227
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret =
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1393601024
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1393167474
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret =
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1393167474
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret =
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1392939538
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1392930328
##
include/nuttx/tls.h:
##
@@ -309,9 +315,28 @@ uintptr_t task_tls_get_value(int tlsindex);
#elif defined(CONFIG_TLS_ALIGNED) && !defined(__KERNEL__)
Review
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1392193610
##
include/nuttx/tls.h:
##
@@ -309,9 +315,28 @@ uintptr_t task_tls_get_value(int tlsindex);
#elif defined(CONFIG_TLS_ALIGNED) && !defined(__KERNEL__)
Review Comment:
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1392193610
##
include/nuttx/tls.h:
##
@@ -309,9 +315,28 @@ uintptr_t task_tls_get_value(int tlsindex);
#elif defined(CONFIG_TLS_ALIGNED) && !defined(__KERNEL__)
Review Comment:
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1391471383
##
sched/pthread/pthread_condclockwait.c:
##
@@ -104,7 +105,7 @@ int pthread_cond_clockwait(FAR pthread_cond_t *cond,
else if (!abstime)
{
- ret =
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1391460655
##
sched/tls/tls_initinfo.c:
##
@@ -22,9 +22,13 @@
* Included Files
/
+#include
+
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1391459966
##
sched/task/task_setcanceltype.c:
##
@@ -52,77 +52,3 @@
*
/
Review Comment:
Oops,
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1391341383
##
include/nuttx/tls.h:
##
@@ -206,6 +206,12 @@ struct tls_info_s
struct pthread_cleanup_s tl_stack[CONFIG_PTHREAD_CLEANUP_STACKSIZE];
#endif
+ uint8_t
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1391172544
##
sched/tls/tls_initinfo.c:
##
@@ -66,5 +70,17 @@ int tls_init_info(FAR struct tcb_s *tcb)
/* Attach per-task info in group to TLS */
info->tl_task =
pussuw commented on PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#issuecomment-1807967384
> @pussuw what are the pros and cons of moving the cancellation points to
user space/libc ?
@acassis My primary concern and motivation for doing these changes is to
improve
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390941495
##
libs/libc/sched/CMakeLists.txt:
##
@@ -26,11 +26,11 @@ set(SRCS
clock_timespec_add.c
clock_timespec_subtract.c
clock_getcpuclockid.c
-
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390939391
##
include/nuttx/tls.h:
##
@@ -205,6 +205,12 @@ struct tls_info_s
struct pthread_cleanup_s stack[CONFIG_PTHREAD_CLEANUP_STACKSIZE];
Review Comment:
Ok
--
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390938982
##
include/nuttx/tls.h:
##
@@ -309,9 +315,28 @@ uintptr_t task_tls_get_value(int tlsindex);
#elif defined(CONFIG_TLS_ALIGNED) && !defined(__KERNEL__)
Review Comment:
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390933827
##
sched/tls/tls_initinfo.c:
##
@@ -66,5 +70,17 @@ int tls_init_info(FAR struct tcb_s *tcb)
/* Attach per-task info in group to TLS */
info->tl_task =
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390933549
##
include/nuttx/tls.h:
##
@@ -205,6 +205,12 @@ struct tls_info_s
struct pthread_cleanup_s stack[CONFIG_PTHREAD_CLEANUP_STACKSIZE];
#endif
+ uint8_t tl_cpstate;
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390933131
##
libs/libc/sched/task_cancelpt.c:
##
@@ -0,0 +1,289 @@
+/
+ *
pussuw commented on PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#issuecomment-1807897534
> > @pkarashchenko @patacongo You might be interested in this. Also, do you
mind if I remove the nested cancellation point logic now as well ?
>
> That is something I had planned to
patacongo commented on PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#issuecomment-1806995884
> @pkarashchenko @patacongo You might be interested in this. Also, do you
mind if I remove the nested cancellation point logic now as well ?
That is something I had planned to do
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390225032
##
include/nuttx/tls.h:
##
@@ -205,6 +205,12 @@ struct tls_info_s
struct pthread_cleanup_s stack[CONFIG_PTHREAD_CLEANUP_STACKSIZE];
#endif
+ uint8_t
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390200245
##
libs/libc/sched/CMakeLists.txt:
##
@@ -26,11 +26,11 @@ set(SRCS
clock_timespec_add.c
clock_timespec_subtract.c
clock_getcpuclockid.c
-
xiaoxiang781216 commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1390199104
##
include/nuttx/tls.h:
##
@@ -309,9 +315,28 @@ uintptr_t task_tls_get_value(int tlsindex);
#elif defined(CONFIG_TLS_ALIGNED) && !defined(__KERNEL__)
Review
acassis commented on PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#issuecomment-1806267343
@pussuw what are the pros and cons of moving the cancellation points to user
space/libc ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1389263469
##
libs/libc/sched/task_setcanceltype.c:
##
@@ -46,14 +54,70 @@
int task_setcanceltype(int type, FAR int *oldtype)
{
+ FAR struct tls_info_s *tls = tls_get_info();
pussuw commented on code in PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#discussion_r1389261277
##
include/nuttx/tls.h:
##
@@ -309,9 +315,28 @@ uintptr_t task_tls_get_value(int tlsindex);
#elif defined(CONFIG_TLS_ALIGNED) && !defined(__KERNEL__)
Review Comment:
pussuw commented on PR #11165:
URL: https://github.com/apache/nuttx/pull/11165#issuecomment-1805515910
@pkarashchenko @patacongo You might be interested in this. Also, do you mind
if I remove the nested cancellation point logic now as well ?
--
This is an automated message from the
pussuw opened a new pull request, #11165:
URL: https://github.com/apache/nuttx/pull/11165
## Summary
This moves task / thread cancel point logic from the NuttX kernel into libc,
while the data needed by the cancel point logic is moved to TLS.
Why do it ?
The change is an
32 matches
Mail list logo