Re: [PATCH v1 0/4] Context domains

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

 



From: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
Date: Thu, 20 Jul 2017 21:50:57 -0400

> Most of this work was done by: bob.picco@xxxxxxxxxx
> 
> Currently, there is only one context domain per-system. This means
> when wrap occurs we must go through a cpu-count proportional loop
> in order to invalidate context ids. It also means, that context wraps
> can occur more frequently. This patchset solves this problem by
> introducing multiple context domains. By default one context domain
> per physical core (on most sun4v it is actually one per two cores,
> because the defined max strands per core is set to 16 to match
> match T3.).

Thanks for working on this.

I guess this is a story of many tradeoffs.

In another thread we are trying to make sparc64 MONDOs happen less
often and be less expensive.  And these changes make TLB shootdowns
more expensive.

Having to allocate a full trap frame just to TLB flush one page or an
MM is a serious regression.

Next, allocating a whole new data structure and clearing it out on
every new address creation is going to be a significant new cost as
well.

I can guarantee you will be able to measure this with lmbench or a
similar set of microbenchmarks which measure fork/exit speed.

It's hard to swallow this given that these changes only help extremely
large systems running specific kinds of loads, yet pessimize all other
cases.

Even when the number of context domains is configured to zero, we eat
all of this overhead.

I have some clerical feedback as well, which I will make in response
to the individual patches.

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux