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/08/11 20:15:04 UTC

[GitHub] [incubator-nuttx] xiaoxiang781216 opened a new pull request, #6836: iob: Remove iob_user_e enum and related code

xiaoxiang781216 opened a new pull request, #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836

   ## Summary
   since it is impossible to track producer and consumer correctly if TCP/IP stack pass IOB directly to netdev
   See the related PR https://github.com/apache/incubator-nuttx/pull/6834 and Issue https://github.com/apache/incubator-nuttx/issues/6835
   
   ## Impact
   Simplify the IOB statistics information
   
   ## Testing
   sim:sixlowpan
   


-- 
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] [incubator-nuttx] acassis commented on pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
acassis commented on PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836#issuecomment-1214379376

   Thank you @xiaoxiang781216 I understood the point now!


-- 
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] [incubator-nuttx] pkarashchenko merged pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
pkarashchenko merged PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836


-- 
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] [incubator-nuttx] xiaoxiang781216 commented on a diff in pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on code in PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836#discussion_r945313731


##########
drivers/wireless/ieee802154/xbee/xbee.c:
##########
@@ -1423,7 +1422,7 @@ void xbee_send_apiframe(FAR struct xbee_priv_s *priv,
                            */
 
                           iob->io_flink =
-                            iob_tryalloc(false, IOBUSER_WIRELESS_RAD802154);
+                            iob_tryalloc(false);

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] [incubator-nuttx] xiaoxiang781216 commented on pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836#issuecomment-1214369701

   > Hi @xiaoxiang781216 I think the idea of having more generic things is good, but in other hand for this case I don't know if it is a good idea, because now all subsystems will share the same IOBs if I got it correctly, right?
   
   The consumer and producer is same as before, but the ownership may transfer between the component/subsystem in the future, which make the static statistics(tag in the allocation) doesn't work anymore. 
   
   Many vendor complain that NuttX TCP/IP stack is slow than lwIP. The root cause is that IOB is only used internally in TCP/IP stack, netdev has to manage another internal memory pool for MAC layer process which mean that:
   
   1. We have copy the packet data between the driver and stack
   2. The driver consume more memory space for internal process
   
   Please see https://github.com/apache/incubator-nuttx/issues/6835 for more discussion.
   
   > Is there some way to trace statics again to know who is consuming more IOBs?
   
   After the change, the basic statistics(free v.s. alloc) still exist, but the individual track is temporally removed. Since network subsystem keep track all allocated conn, another approach is that:
   
   1. Loop trough all kind of conn
   2. Accumulate IOB usage in each conn
   
   We will provide the patch later once the key optimization is 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] [incubator-nuttx] acassis commented on pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
acassis commented on PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836#issuecomment-1214363091

   Hi @xiaoxiang781216 I think the idea of having more generic things, but in other hand for this case I don't know if it is a good idea, because now will subsystems will share the same IOBs if I got it correctly, right? Is there some way to trace statics again to know who is consuming more IOBs? 


-- 
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] [incubator-nuttx] xiaoxiang781216 commented on pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 commented on PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836#issuecomment-1214352230

   @pkarashchenko could you review this patch?


-- 
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] [incubator-nuttx] pkarashchenko commented on a diff in pull request #6836: iob: Remove iob_user_e enum and related code

Posted by GitBox <gi...@apache.org>.
pkarashchenko commented on code in PR #6836:
URL: https://github.com/apache/incubator-nuttx/pull/6836#discussion_r945304490


##########
drivers/wireless/ieee802154/xbee/xbee.c:
##########
@@ -264,7 +264,7 @@ static void xbee_attnworker(FAR void *arg)
                            */
 
                           iob->io_flink =
-                            iob_tryalloc(false, IOBUSER_WIRELESS_RAD802154);
+                            iob_tryalloc(false);

Review Comment:
   maybe this can be one line now



##########
drivers/wireless/ieee802154/xbee/xbee.c:
##########
@@ -1423,7 +1422,7 @@ void xbee_send_apiframe(FAR struct xbee_priv_s *priv,
                            */
 
                           iob->io_flink =
-                            iob_tryalloc(false, IOBUSER_WIRELESS_RAD802154);
+                            iob_tryalloc(false);

Review Comment:
   maybe can be a single line now



-- 
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