[quote user="Bing WANG"]I want to know whether the Swis scehduler is called inside the Swi_post() or Swi_restore() or is just is triggerred by the two functions and is called in another place.[/quote]
It's literally called within the Swi_post() or Swi_restore() when called from a Task context.
For dispatched interrupts, Swis are disabled before your Hwi function is executed and (Swi_)restore(d) afterwards which calls the Swi scheduler. There is some logic in the Swi_post() call so it won't execute the Swi scheduler when its called from a Hwi context as Hwis must run to completion.