[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH v3 00/12] Extend scheduling API


  • To: minios-devel@xxxxxxxxxxxxx
  • From: Costin Lupu <costin.lupu@xxxxxxxxx>
  • Date: Fri, 22 Mar 2019 17:15:49 +0200
  • Cc: Florian.Schmidt@xxxxxxxxx
  • Delivery-date: Fri, 22 Mar 2019 15:16:51 +0000
  • Ironport-phdr: 9a23:yeLENhbOP82JjIn2Sy4JvaT/LSx+4OfEezUN459isYplN5qZr82/bnLW6fgltlLVR4KTs6sC17OO9f+5EjNbqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba5uIBmsrwjdq8YajIlsJ60s1hbHv3xEdvhMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTDQhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlSEKPCM7/m7KkMx9lKJVrgy8qRJxwIDaZ5qYOOZicq7HYd8XX3ZNUtpXWidcAo28dYwPD+8ZMOtGqIn9vEcOrRq4BQKxAu3v1ydIhmLr1qA9z+shFhrG3BAhH9IIqnjUqMj1NL8PUe2u0KbI1i/Pb+tL2Tjm8oTIaBchrOiKULltcsTR0VEiGx7Kg1mNs4DoPDOY2v4Tv2SF7edsT+yih3Y6pwx+vzSj3MQhh4nTio4LxF3J+z91zJs6KNGmTkNwfMSqH4FKty6AMot7WsYiQ2Z1tykk0rAGopu7fDQSyJQg2h7fd+SLc4iW7RLnU+acOSl4hHd/d7K+gxa+61SvyvbmWsmszVZFtTBJksPLtnwV1hzT7NaISudl80u81juDyhrf5+JELEwui6bXNZwszqQ+m5YLtETMBC72mEH4jK+McUUk//Cl5PjgYrX9up+cNol0hhv6MqQzgsy/HP81PRQVX2SB4eS8yabs8VfjQLVNlvE2iLXWsIjGJcQHoa60GwpV0ocl6xa+CDemy80UkmQZI1JbZh2Hi5PkO1XPIPDjEfe/mE6gkTh1yPDAJLHhBY/NLnfbmrf7Ybl981JcyBY0zd1H55xUDrYBIOjyWkDrstzUFAI3PBC0w+biCdVyy58eVHmJAqCHLKzStUWH6fk1L+aSeY9G8Ar6fv0k4f/pljo1lEEQeYGt3IALczaoE/IgJF+WMlT2hdJUOmARogs4BMj3kEDKBTVUfGqzWeQ4+ykmIIm9S5/eTMa3h+rSj2+AApRKazUeWRi3GnDyetDcVg==
  • Ironport-sdr: Z0DvwR4YbC6XGEuk2x/QmNCj85LZIEuTLwpYwspFLAP/h+IpCfcYQUNXShfRCJ7mRdajuyKolt /KLxdDA6d4cA==
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>

The current patch series introduce scheduling API extensions such as 
handling thread attributes and thread resources cleanup. The goal is
to extend the API so that it can be easier to integrate with pthread
API.

Changes since v1:
- Update exported symbols file
- Check if time slice is greater than timer tick
- Add default values for priority and time slice attributes

Changes since v2:
- Remove thread info and keep just the detach flag
- Split last patch of v2 in 3 different ones
- Add private field on thread structure for user frameworks

Changes since v3:
- Return error if adding a thread fails
- Export __getreent() to use it in newlib

Changes since v4:
- Refine thread add operation 

Costin Lupu (12):
  arch/*: Add STACK_MASK_TOP bit mask
  lib/uksched: Add function for allocating scheduler common info
  lib/uksched: Introduce thread attributes
  lib/uksched: Introduce detached flag for threads
  lib/uksched: Add support for waiting threads
  lib/uksched: Revisit thread exiting logic
  lib/uksched: Add function for killing threads
  lib/uksched: Set scheduler reference only if adding the thread was
    successful
  lib/uksched: Revisit public scheduling functions
  lib/ukschedcoop: Remove redundant config dependencies
  lib/uksched: Add re-entrancy support for newlib
  lib/uksched: Add private field for user

 include/uk/arch/limits.h             |   2 +
 lib/ukdebug/print.c                  |   2 +-
 lib/uknetdev/netdev.c                |   2 +-
 lib/uksched/Makefile.uk              |   1 +
 lib/uksched/exportsyms.uk            |  20 +++++
 lib/uksched/include/uk/sched.h       | 114 ++++++++++++++++++++++++----
 lib/uksched/include/uk/thread.h      |  35 +++++++--
 lib/uksched/include/uk/thread_attr.h |  82 +++++++++++++++++++++
 lib/uksched/sched.c                  |  40 ++++++++--
 lib/uksched/thread.c                 | 107 ++++++++++++++++++++++++++-
 lib/uksched/thread_attr.c            | 139 +++++++++++++++++++++++++++++++++++
 lib/ukschedcoop/Config.uk            |   2 -
 lib/ukschedcoop/schedcoop.c          |  58 ++++++---------
 plat/xen/x86/arch_events.c           |   2 +-
 plat/xen/x86/entry64.S               |   2 +-
 plat/xen/xenbus/xs_comms.c           |   2 +-
 16 files changed, 538 insertions(+), 72 deletions(-)
 create mode 100644 lib/uksched/include/uk/thread_attr.h
 create mode 100644 lib/uksched/thread_attr.c

-- 
2.11.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.