Re: [PATCH rdma-next] RDMA: Explicitly pass in the dma_device to ib_register_device

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

 



On Tue, Oct 06, 2020 at 07:29:16AM -0700, Bart Van Assche wrote:
> On 9/24/20 4:49 AM, Jason Gunthorpe wrote:
> > On Thu, Sep 24, 2020 at 06:49:07AM +0100, Christoph Hellwig wrote:
> > > > > > +	} else {
> > > > > > +		device->dev.dma_parms = dma_device->dma_parms;
> > > > > >   		/*
> > > > > > +		 * Auto setup the segment size if a DMA device was passed in.
> > > > > > +		 * The PCI core sets the maximum segment size to 64 KB. Increase
> > > > > > +		 * this parameter to 2 GB.
> > > > > >   		 */
> > > > > > +		dma_set_max_seg_size(dma_device, SZ_2G);
> > > > > 
> > > > > You can't just inherity DMA properties like this this.  Please
> > > > > fix all code that looks at the seg size to look at the DMA device.
> > > > 
> > > > Inherit? This is overriding the PCI default of 64K to be 2G for RDMA
> > > > devices.
> > > 
> > > With inherit I mean the
> > > 
> > > 		device->dev.dma_parms = dma_device->dma_parms;
> > > 
> > > line, which is completely bogus.  All DMA mapping is done on the
> > > dma_device in the RDMA core and ULPs, so it also can't have an effect.
> > 
> > Oh. Yes, no idea why that is there..
> > 
> > commit c9121262d57b8a3be4f08073546436ba0128ca6a
> > Author: Bart Van Assche <bvanassche@xxxxxxx>
> > Date:   Fri Oct 25 15:58:30 2019 -0700
> > 
> >      RDMA/core: Set DMA parameters correctly
> >      The dma_set_max_seg_size() call in setup_dma_device() does not have any
> >      effect since device->dev.dma_parms is NULL. Fix this by initializing
> >      device->dev.dma_parms first.
> > 
> > Bart?
> 
> (just noticed this email)
> 
> Hi Jason,
>
> That code may be a leftover from when the ib_dma_*() functions used &dev->dev as
> their first argument instead of dev->dma_device. 

Hmm the above was two years after the commit that added dma_device? I
assumed you added this because you were doing testing with rxe?

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux