lwip-devel
[Top][All Lists]
Advanced

[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: Fri, 24 Mar 2017 11:21:47 -0400 (EDT)
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8

URL:
  <http://savannah.nongnu.org/task/?14420>

                 Summary: Remove sys_sem_signal from inside SYS_ARCH_PROTECT
crit section
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: jcunningham
            Submitted on: Fri 24 Mar 2017 03:21:46 PM UTC
                Category: socket/netconn
         Should Start On: Fri 24 Mar 2017 12:00:00 AM UTC
   Should be Finished on: Fri 24 Mar 2017 12:00:00 AM UTC
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None
                  Effort: 0.00

    _______________________________________________________

Details:

In event_callback(), the select infrastructure uses SYS_ARCH_PROTECT to
provide synchronization.  It calls sys_sem_signal() while inside the critical
section and this has worked with interrupt enable/disable implementations of
SYS_ARCH_PROTECT (and obviously mutex implementations).

Unfortunately this prevents using a spinlock in SMP systems for
SYS_ARCH_PROTECT because most spinlock implementations don't support
sleeping/task switch while holding the spinlock.

This could be solved by replacing select's use of SYS_ARCH_PROTECT with a
mutex




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?14420>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]