On 15.04.20 16:23, Michal Hocko wrote:
On Wed 15-04-20 16:10:08, Guoqing Jiang wrote:
On 15.04.20 13:48, Michal Hocko wrote:
On Thu 09-04-20 23:38:13, Guoqing Jiang wrote:
[...]
Not know memalloc_noio_{save,restore} well, but I guess it is better
to use them to mark a small scope, just my two cents.
This would go against the intentio of the api. It is really meant to
define reclaim recursion problematic scope.
Well, in current proposal, the scope is just when
scribble_allo/kvmalloc_array is called.
memalloc_noio_save
scribble_allo/kvmalloc_array
memalloc_noio_restore
With the new proposal, the marked scope would be bigger than current one
since there
are lots of places call mddev_suspend/resume.
mddev_suspend
memalloc_noio_save
...
memalloc_noio_restore
mddev_resume
IMHO, if the current proposal works then what is the advantage to increase
the scope.
The advantage is twofold. It serves the documentation purpose because it
is clear _what_ and _why_ is the actual allocation restricted context.
In this case mddev_{suspend,resume} because XYZ and you do not have to
care about __GFP_IO for _any_ allocation inside the scope.
Personally, I'd prefer fine grained protection scope, anyway just my own
flavor. And I think Song has his opinion about the proposal, I will respect
his decision.
Thanks,
Guoqing