Re: [PATCH for-next] RDMA/hns: Add support function clear when removing module

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

 



On Wed, May 15, 2019 at 05:38:02PM +0800, Liuyixian (Eason) wrote:
> 
> 
> On 2019/5/9 18:50, Liuyixian (Eason) wrote:
> > 
> > 
> > On 2019/5/2 21:03, Jason Gunthorpe wrote:
> >> On Tue, Apr 30, 2019 at 04:27:41PM +0800, Liuyixian (Eason) wrote:
> >>>
> >>>
> >>> On 2019/4/27 5:05, Leon Romanovsky wrote:
> >>>> On Fri, Apr 26, 2019 at 11:36:56AM -0300, Jason Gunthorpe wrote:
> >>>>> On Fri, Apr 26, 2019 at 06:12:11PM +0800, Liuyixian (Eason) wrote:
> >>>>>
> >>>>>>     However, I have talked with our chip team about function clear
> >>>>>>     functionality. We think it is necessary to inform the chip to
> >>>>>>     perform the outstanding task and some cleanup work and restore
> >>>>>>     hardware resources in time when rmmod ko. Otherwise, it is
> >>>>>>     dangerous to reuse the hardware as it can not guarantee those
> >>>>>>     work can be done well without the notification from our driver.
> >>>>>
> >>>>> If it is dangerous to reuse the hardware then you have to do this
> >>>>> cleanup on device startup, not on device removal.
> >>>>
> >>>> Right, I can think about gazillion ways to brick such HW.
> >>>> The simplest way will be to call SysRq during RDMA traffic
> >>>> and no cleanup function will be called in such case.
> >>>>
> >>>> Thanks
> >>>
> >>> Hi Jason and Leon,
> >>>
> >>> 	As hip08 is a fake pcie device, we could not disassociate and stop the hardware access
> >>> 	through the chain break mechanism as a real pcie device. Alternatively, function clear
> >>> 	is used as a notification to the hardware to stop accessing and ensure to not read or
> >>> 	write DDR later. That is, the role of function clear to hip08 is similar as the chain
> >>> 	break to pcie device.
> >>
> >> What? This hardware is broken and doesn't respond to the bus master
> >> enable bit in the PCI config space??
> >>
> > Hi Jason,
> > 
> > Sorry to reply to you late.
> > 
> > Yes, the bus master enable bit should be set by a pcie device when startup and removal.
> > The hns (nic) module use it as well. However, we couldn't use/operate this bit in hip08
> > as it shares the PF(physical function) with nic. Therefore, we need function clear to
> > notify the hardware to do the cleanup thing and cache write back.
> > 
> > Thanks.
> > 
> 
> Hi Jason and Leon,
> 
> Do you have further more suggestions?

The approach seems completely wrong to me - no other driver is doing
something so sketchy. 

You need to explain why hns is so special

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