Re: [PATCH v4] PCI: Set PCI-E Max Payload Size on fabric

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

 



Jon Mason wrote:
> There is a sizable performance boost for having the largest possible
> maximum payload size on each PCI-E device.  However, the maximum payload
> size must be uniform on a given PCI-E fabric, and each device, bridge,
> and root port can have a different max size.  To find and configure the
> optimal MPS settings, one must walk the fabric and determine the largest
> MPS available on all the devices on the given fabric.

So you are basically telling me that if I have one device that only can do 128 
byte no other device can do more? Even if I don't do device2device transfers? 
That's odd. Not only have I worked with such configurations on many boards for 
years, but it basically renders that totally useless as all motherboards I got 
my fingers on have on-chip devices that only support 128 bytes.

Or did you mean this must be uniform on one bus (since every physical slot has 
usually it's own bus)?

> +		if (dev->is_hotplug_bridge)
> +			smpss = 0;
> +
> +		if (*smpss > dev->pcie_mpss)
> +			*smpss = dev->pcie_mpss;
> +	}

The first one is wrong. It must be either "*smpss = 0". How it currently is you 
only crash the machine with a NULL deref.

Eike

Attachment: signature.asc
Description: This is a digitally signed message part.


[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