Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1721573
| From | Michal Hocko <mhocko@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag |
| Date | 2017-08-28 14:40 +0200 |
| Message-ID | <ujruF-5AC-1@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <ui2RI-kG-41@gated-at.bofh.it> <uigrD-xp-11@gated-at.bofh.it> <uihe2-14M-3@gated-at.bofh.it> <uihQJ-1wL-5@gated-at.bofh.it> <uiuuB-Rx-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Fri 25-08-17 23:39:36, Pavel Machek wrote: > On Fri 2017-08-25 10:04:42, Michal Hocko wrote: > > On Fri 25-08-17 09:28:19, Pavel Machek wrote: > > > On Fri 2017-08-25 08:35:46, Michal Hocko wrote: > > > > On Wed 23-08-17 19:57:09, Pavel Machek wrote: > > [...] > > > > > Dunno. < 1msec probably is temporary, 1 hour probably is not. If it causes > > > > > problems, can you just #define GFP_TEMPORARY GFP_KERNEL ? Treewide replace, > > > > > and then starting again goes not look attractive to me. > > > > > > > > I do not think we want a highlevel GFP_TEMPORARY without any meaning. > > > > This just supports spreading the flag usage without a clear semantic > > > > and it will lead to even bigger mess. Once we can actually define what > > > > the flag means we can also add its users based on that new semantic. > > > > > > It has real meaning. > > > > Which is? > > "This allocation is temporary. It lasts milliseconds, not hours." And why would such a semantic make any sense what so ever? We certainly do not try to wait for a pinned memory for $TIMEOUT when somebody really needs a larger memory block and there is a temporary allocation standing in the way. We simply do not know that an object is a temporary one. > > > You can define more exact meaning, and then adjust the usage. But > > > there's no need to do treewide replacement... > > > > I have checked most of them and except for the initially added onces the > > large portion where added without a good reasons or even break an > > intuitive meaning by taking locks. > > I don't see it. kmalloc() itself takes locks. Of course everyone takes > locks. I don't think that's intuitive meaning. I was talking about users of the flag. I have seen some to take a lock right after they allocated GFP_TEMPORARY object. > > Seriously, if we need a short term semantic it should be clearly defined > > first. > > "milliseconds, not hours." > > > Is there any specific case why you think this patch is in a wrong > > direction? E.g. a measurable regression? > > Not playing that game. You should argue why it is improvement. And I > don't believe you did. Please read the whole changelog where I was quite verbose about how the current flag is abused and how its semantic is weak and encourages a wrong usage pattern. Moreover it is not even clear whether it helps anything. I haven't seen any actual counter argument from you other than "milliseconds not hours" without actually explaining how that would be useful for any decisions done in the core MM layer. -- Michal Hocko SUSE Labs
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag Pavel Machek <pavel@ucw.cz> - 2017-08-25 23:40 +0200
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag NeilBrown <neilb@suse.com> - 2017-08-26 06:20 +0200
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag Michal Hocko <mhocko@kernel.org> - 2017-08-28 14:40 +0200
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag Pavel Machek <pavel@ucw.cz> - 2017-08-31 11:10 +0200
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag Mel Gorman <mgorman@suse.de> - 2017-08-31 11:30 +0200
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag Michal Hocko <mhocko@kernel.org> - 2017-08-28 14:40 +0200
Re: [RFC PATCH] treewide: remove GFP_TEMPORARY allocation flag Pavel Machek <pavel@ucw.cz> - 2017-08-31 11:20 +0200
csiph-web