Hi John, Jason, On Tue, Dec 22, 2020 at 12:54:58PM +0000, John Garry wrote: > On 22/12/2020 12:30, Jason Yan wrote: > > > return event; > > > > > > > > > So default for phy->ha->event_thres is 32, and I can't imagine that > > > > The default value is 1024. > > Ah, 32 is the minimum allowed set via sysfs. > > > > > > anyone has ever reconfigured this via sysfs or even required a value > > > that large. Maybe Jason (cc'ed) knows better. It's an arbitrary > > > value to say that the PHY is malfunctioning. I do note that there is > > > the circular path sas_alloc_event() -> sas_notify_phy_event() -> > > > sas_alloc_event() there also. > > > > > > Anyway, if the 32x event memories were per-allocated, maybe there is > > > a clean method to manage this memory, which even works in atomic > > > context, so we could avoid this rework (ignoring the context bugs > > > you reported for a moment). I do also note that the sas_event_cache > > > size is not huge. > > > > > > > Pre-allocated memory is an option.(Which we have tried at the very > > beginnig by Wang Yijing.) > > Right, I remember this, but I think the concern was having a proper method > to manage this pre-allocated memory then. And same problem now. > > > > > Or directly use GFP_ATOMIC is maybe better than passing flags from lldds. > > > > I think that if we don't really need this, then should not use it. > Kind reminder. Do we have any consensus here? Thanks, -- Ahmed S. Darwish Linutronix GmbH