Re: [go-nuts] Go scheduler - What is the purpose of Context(P)?

2020-05-14 Thread Ian Lance Taylor
On Thu, May 14, 2020 at 2:53 PM wrote: > Yes you are right, P is a logical processor holding LRQ of go-routines > The purpose of a P is to limit the amount of total concurrency running Go code. By default we set the number of P's to the number of CPU cores on the system (including

Re: [go-nuts] Go scheduler - What is the purpose of Context(P)?

2020-05-14 Thread overexchange
Yes you are right, P is a logical processor holding LRQ of go-routines On Thursday, May 14, 2020 at 1:44:57 PM UTC-7, Ian Lance Taylor wrote: > > On Thu, May 14, 2020 at 9:28 AM > wrote: > >> I learnt that, >> >> the reason we have context(`P`) introduced in Goruntime, is that we can >> hand

Re: [go-nuts] Go scheduler - What is the purpose of Context(P)?

2020-05-14 Thread Ian Lance Taylor
On Thu, May 14, 2020 at 9:28 AM wrote: > I learnt that, > > the reason we have context(`P`) introduced in Goruntime, is that we can > hand them off(it's LRQ of goroutines) to other OS thread(say `M0`), if the > running OS thread(`M1`) needs to block for some reason. > > > [image: Untitled.png] >

[go-nuts] Go scheduler - What is the purpose of Context(P)?

2020-05-14 Thread overexchange
I learnt that, the reason we have context(`P`) introduced in Goruntime, is that we can hand them off(it's LRQ of goroutines) to other OS thread(say `M0`), if the running OS thread(`M1`) needs to block for some reason. [image: Untitled.png] -- Above, we see a