Re: [PATCH v3 2/2] cxl: Calculate region bandwidth of targets with shared upstream link

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

 



> >> +		if (is_cxl_root(parent_port)) {
> >> +			ctx->port = parent_port;
> >> +			cxl_coordinates_combine(ctx->coord, ctx->coord,
> >> +						dport->coord);  
> > 
> > I'm a bit lost in all the levels of iteration so may have missed it.
> > 
> > Do we assume that GP BW (which is the root bridge) is shared across multiple root
> > ports on that host bridge if they are both part of the interleave set?  
> 
> Do we need to count the number of RPs under a HB and do min(aggregated_RPs_BW, (GP_BW / no of RPs) * affiliated_RPs_in_region)?

I'm not 100% sure I understand the question.

Taking this again and expanding it another level.



      Host CPU
______________________________________
        |                           |
        |                           |
        | 3 from GP/HMAT            | 3 from GP/HMAT
   _____|_____               _______|______
  RP         RP             RP            RP
  2|          |2           2|             |2
 __|__     ___|__         __|___        __|____
|1    |1  1|     |1      |1     |1     |1      |1
EP   EP    EP    EP     EP     EP      EP     EP

Then your maths

aggregated RPs BW is 8
(GP_BW/no of RPS) * affliated RPS in region.
= (3/2 * 4)
= 6
Which is correct. So yes, I think that works if we assume everything is balanced.
I'm fine with that assumption as that should be the common case.


Jonathan





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux