Messages in this thread | | | Date | Mon, 13 Jul 2015 15:52:53 +0900 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH 0/2] mm/shrinker: make unregister_shrinker() less fragile |
| |
On (07/12/15 23:33), Christoph Hellwig wrote: > On Sun, Jul 12, 2015 at 11:47:32AM +0900, Sergey Senozhatsky wrote: > > Yes, but the main difference here is that it seems that shrinker users > > don't tend to treat shrinker registration failures as fatal errors and > > just continue with shrinker functionality disabled. And it makes sense. > > > > (copy paste from https://lkml.org/lkml/2015/7/9/751) > > > > I hearily disagree. It's not any less critical than other failures.
Why? In some sense, shrinker callbacks are just a way to be nice. No one writes a driver just to be able to handle shrinker calls. An ability to react to those calls is just additional option; it does not directly affect or limit driver's functionality (at least, it really should not).
> The right way forward is to handle register failure properly.
In other words, to (a) keep a flag to signify that register was not successful or (b) look at ->shrinker.list.next or ->nr_deferred or (c) treat register failures as critical errors. (I sort of disagree with you here).
-ss
| |