[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [task #14420] Remove sys_sem_signal from inside SYS_ARCH_PR
From: |
Joel Cunningham |
Subject: |
[lwip-devel] [task #14420] Remove sys_sem_signal from inside SYS_ARCH_PROTECT crit section |
Date: |
Tue, 11 Apr 2017 10:37:43 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30 |
Follow-up Comment #2, task #14420 (project lwip):
Simon,
Thanks for the changes here! I reviewed the changes and had one
idea/suggestion that I wanted to mention:
In event_callback(), we could remove the use of SYS_ARCH_PROTECT when
iterating the select list and signaling the waiters for TCPIP_CORE_LOCKING
case if we copied the values of sock->rcvevent, sock->sendevent, and
sock->errevent, before starting the loop. See lwip_selscan() for an example
of this
This would improve performance in the TCPIP_CORE_LOCKING case as we wouldn't
acquire/release SYS_ARCH_PROTECT per iteration. Also, this makes the loop's
synchronization easier to understand because we have one only have the select
list to synchronize (rather than also socket access)
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/task/?14420>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/