Message ID | 20230901184136.73b2833e@xps-13 |
---|---|
State | New |
Headers | show |
Series | [GIT,PULL] mtd: Changes for v6.6-rc1 | expand |
On Fri, 1 Sept 2023 at 09:42, Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > Core MTD changes: > * Use refcount to prevent corruption > * Call external _get and _put in right order > * Fix use-after-free in mtd release > * Explicitly include correct DT includes > * Clean refcounting with MTD_PARTITIONED_MASTER > * mtdblock: make warning messages ratelimited > * dt-bindings: Add SEAMA partition bindings Ok, so the above list isa fairly reasonable, but then: > MTD device driver changes: > * spear_smi: Use helper function devm_clk_get_enabled() > * maps: fix -Wvoid-pointer-to-enum-cast warning > * docg3: Remove unnecessary (void*) conversions > * physmap-core, spear_smi, st_spi_fsm, lpddr2_nvm, lantiq-flash, plat-ram: > - Use devm_platform_get_and_ioremap_resource() [...] This is not a "summary of changes". The above is basically just a re-organized shortlog. What I want a merge message to be is to be an _overview_ of what the merge brings in, and it's why I ask peopel to summarize what they have worked on in the pull request. But when the "summary" is just a list of every single detail, it's no longer a summary. It doesn't give an overview of what has changed. It's not useful to an outsider as a way to see "this is what the merge brings in". End result: I might as well just use "git shortlog", and it would probably be about as readable as this is. In fact, I get the strong feeling that this was auto-generated from something very much akin to "git shortlog", just edited to combine multiple commits that just did the same thing to several drivers. Please - this is meant for *humans*. If it is just another form of "git shortlog", then the automated version is *better*, because I can use "git shortlog" to look at one particular driver (or a particular set of drivers), so having a static version of "git shortlog" that has been slightly munged to another format is actually _inferior_. No, what the merge message should be is a general overview of "this is the big picture". Not just a list of every single change, just by sub-area. For example, you list "Use devm_platform_get_and_ioremap_resource" not just for individual drivers (nobody cares!), you do it *twice*, because you've split up MTD drivers from raw NAND controller drivers. And then you separately list "Use helper function devm_clk_get_optional_enabled" from that list too, _and_ you then list "Use devm_platform_ioremap_resource_byname()" for the brcm nand driver. Not to mention individually lising "Fix alignment with open parenthesis" and "Fix the spacing" and "Fix wrong indentation" and "Fix a typo" for the Qcom driver. See why I'm frustrated? This has been going on for some time, but it's gett9ing *worse*. This is absolutely ridiculous. I could try to make a summary of it all, but honestly, now it feels like just complete wasted time. So I pulled this, looked at the "summary" in the fag, and decided that it's just not worth it, and unpulled it. Please give me a *summary* of what has changed. A list of *important& things. Not a list of pointless typo fixes. Linus
On Sat, 2 Sept 2023 at 11:59, Linus Torvalds <torvalds@linux-foundation.org> wrote: > > So I pulled this, looked at the "summary" in the fag, and decided that > it's just not worth it, and unpulled it. Bah. I came back to this, and tried to make a summary of my own. I might have missed something worth noting, but at least it's now more of an actual overview than a listing of details. Linus
The pull request you sent on Fri, 1 Sep 2023 18:42:11 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/for-6.6
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/bac8a20fa39796f5ae5cf73de146c2ba22ad2674
Thank you!
The pull request you sent on Fri, 1 Sep 2023 18:42:11 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/for-6.6
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/bac8a20fa39796f5ae5cf73de146c2ba22ad2674
Thank you!
The pull request you sent on Fri, 1 Sep 2023 18:42:11 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/for-6.6
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/bac8a20fa39796f5ae5cf73de146c2ba22ad2674
Thank you!
The pull request you sent on Fri, 1 Sep 2023 18:42:11 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/for-6.6
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/bac8a20fa39796f5ae5cf73de146c2ba22ad2674
Thank you!
Hi Linus, torvalds@linux-foundation.org wrote on Sat, 2 Sep 2023 11:59:55 -0700: > On Fri, 1 Sept 2023 at 09:42, Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > > > Core MTD changes: > > * Use refcount to prevent corruption > > * Call external _get and _put in right order > > * Fix use-after-free in mtd release > > * Explicitly include correct DT includes > > * Clean refcounting with MTD_PARTITIONED_MASTER > > * mtdblock: make warning messages ratelimited > > * dt-bindings: Add SEAMA partition bindings > > Ok, so the above list isa fairly reasonable, but then: > > > MTD device driver changes: > > * spear_smi: Use helper function devm_clk_get_enabled() > > * maps: fix -Wvoid-pointer-to-enum-cast warning > > * docg3: Remove unnecessary (void*) conversions > > * physmap-core, spear_smi, st_spi_fsm, lpddr2_nvm, lantiq-flash, plat-ram: > > - Use devm_platform_get_and_ioremap_resource() > [...] > > This is not a "summary of changes". The above is basically just a > re-organized shortlog. > > What I want a merge message to be is to be an _overview_ of what the > merge brings in, and it's why I ask peopel to summarize what they have > worked on in the pull request. > > But when the "summary" is just a list of every single detail, it's no > longer a summary. It doesn't give an overview of what has changed. > It's not useful to an outsider as a way to see "this is what the merge > brings in". > > End result: I might as well just use "git shortlog", and it would > probably be about as readable as this is. In fact, I get the strong > feeling that this was auto-generated from something very much akin to > "git shortlog", just edited to combine multiple commits that just did > the same thing to several drivers. > > Please - this is meant for *humans*. If it is just another form of > "git shortlog", then the automated version is *better*, because I can > use "git shortlog" to look at one particular driver (or a particular > set of drivers), so having a static version of "git shortlog" that has > been slightly munged to another format is actually _inferior_. > > No, what the merge message should be is a general overview of "this is > the big picture". Not just a list of every single change, just by > sub-area. > > For example, you list "Use devm_platform_get_and_ioremap_resource" not > just for individual drivers (nobody cares!), you do it *twice*, > because you've split up MTD drivers from raw NAND controller drivers. > > And then you separately list "Use helper function > devm_clk_get_optional_enabled" from that list too, _and_ you then list > "Use devm_platform_ioremap_resource_byname()" for the brcm nand > driver. > > Not to mention individually lising "Fix alignment with open > parenthesis" and "Fix the spacing" and "Fix wrong indentation" and > "Fix a typo" for the Qcom driver. > > See why I'm frustrated? This has been going on for some time, but it's > gett9ing *worse*. This is absolutely ridiculous. I could try to make a > summary of it all, but honestly, now it feels like just complete > wasted time. > > So I pulled this, looked at the "summary" in the fag, and decided that > it's just not worth it, and unpulled it. > > Please give me a *summary* of what has changed. A list of *important& > things. Not a list of pointless typo fixes. Back in 2020, you complained about one of my pull requests with: > You didn't even mention the stm32 controller change, which seems to be > the biggest individual thing in here.. And indeed that was a mistake on my side, but I received that comment as a request for a more detailed list of what had been touched. That's likely an over interpretation, but it lead me to be more exhaustive so the "you did not mention <this>" would no longer happen. About your request today, I totally get why you would like something more meaningful, but I don't know how to do it. Sometimes I get series which have a goal and I could definitely try to capture that goal in the summary rather than listing the patches. But then, what about the endless list of miscellaneous patches to fix the style, the W=1 warnings, various robot complains... Because this is what I mostly get currently, and I believe there is no way you'll prefer something like this: * Fix misc typos * Fix misc style fixes * Update to newer API's Or maybe it is as long as the patches are trivial? I believe among the load of PR you receive there must be other subsystems than mtd which receive a lot of miscellaneous changes like that, don't hesitate to share a couple which look useful yet concise enough to you. Thanks anyway for pulling. Kind regards, Miquèl
On Mon, 4 Sept 2023 at 01:28, Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > Back in 2020, you complained about one of my pull requests with: > > > You didn't even mention the stm32 controller change, which seems to be > > the biggest individual thing in here.. > > And indeed that was a mistake on my side, but I received that comment > as a request for a more detailed list of what had been touched. That's > likely an over interpretation, but it lead me to be more exhaustive so > the "you did not mention <this>" would no longer happen. You went from one extreme to another, and what I really would want is a nice middle ground: mention the important things, summarize the rest, and if something is subtle, please explain it. Now, that "something is subtle" may not even happen most of the time - particularly in drivers - so that is probably almost never an issue. > About your request today, I totally get why you would like something > more meaningful, but I don't know how to do it. Sometimes I get series > which have a goal and I could definitely try to capture that goal in > the summary rather than listing the patches. Exactly. If you have a series with a goal, please mention / explain the goal - not the details of the series. But, as you say: > But then, what about the > endless list of miscellaneous patches to fix the style, the W=1 > warnings, various robot complains... Absolutely. That's generally the bulk of any subsystem, and then all you need to do is mention it as a kind of "this is what happened". When I complained back in 2020, it was bvecause you didn't mention even the big changes. Although quite often "big" changes can also just be "a lot of cleanup", so mentioning it as such is also fine. > Because this is what I mostly get > currently, and I believe there is no way you'll prefer something like > this: > * Fix misc typos > * Fix misc style fixes > * Update to newer API's > Or maybe it is as long as the patches are trivial? Absolutely. That's _exactly_ what I want for trivial patches (including if it's a series of 15 trivial patches that all do the same thing to 15 different drivers). Instead of mentioning the individual patches, just say exactly the above kind of "Update to new helper APIs", or "Fix warnings reported by syzbot". Honestly, for pure "endpoint" drivers, that's kind of the expected explanation. Drivers themselves seldom have any conceptually big changes, and so the above kind of things is normal and expected. So then you have exactly that kind of "Fix W=1 warnings" comment without any more specificity. Then, occasionally you have one driver that gets a lot of work because somebody goes in and cleans up that driver in _particular_, and so if one particular driver stands out because a vendor (or an individual) just decided to do a lot of spring cleaning, then you might have a much more specific "Lots of work on cleaning up the XYZ driver" mention. Just as an example, let's look at some of the recent driver merges I did, and take something like SCSI where not a lot of interesting stuff happened. The mention was just "Updates to the usual drivers (ufs, lpfc, qla2xxx, mpi3mr, libsas) and the usual minor updates and bug fixes but no significant core changes" and that's ok. It was a lot of small patches that didn't do anything that you'd really care about unless you had some specific interest in a driver. But I mention that merge message because it is worth noting that I actually complained a bit to James about it, because that pull also did end up having one thing that stood out if you looked at the diffstat: it removed the UFS HPB support entirely. Nobody *really* cares about it (because it was never used), which was James' argument for not mentioning it, but it's the kind of thing that *does* stand out and might be worth mentioning even if it's just a curiosity. It's a _conceptually_ interesting part of the pull, even if it doesn't actually matter in the real world. So I give that merge message as an example of both a perfectly fine thing in general, but also as an example of "yeah, it could certainly have been better". Just to give you kind of an idea what I'm looking for. And don't get me wrong: sometimes I really appreciate - and want - a lot more. *IF* there are major ABI changes, I not only want them mentioned, I really want them explained. They *probably* don't actually happen for the MTD subsystem very much, if at all, but to give an example of somebody who does do that kind of "ABI changes that can affect a lot of other maintainers", we have things like the VFS layer that then affects multiple different filesystems, and then that shows up in the merge messages as big explanations. Or new system calls, or things like that, which affect not only the internal kernel ABI, but that actually exposes new user-space ABI. Then the explanations can be tens of lines of "this is what's going on". So examples from the VFS layer on *those* kinds of changes: git show 475d4df82719 git show c0a572d9d32f and no, I do not expect the MTD drivers to ever do that. But to give a recent example of a nice middle road from a merge I did yesterday, look at the phy pull from yesterday, or the HID updates from Friday. They have slightly different approaches to the summary, but both of those make me feel like they are explaining what went on in some simple summary without bogging down in excessive detail:" git show db906f0ca6bb git show 29aa98d0fe01 Anyway, all those examples are meant as just that - *examples*. It obviously depends entirely on what has been going on, and different subsystems can have very different rules. And often "core changes" to the subsystem are much more worthy of mention than some cleanup of individual drivers. A merge message of just a single line of "Trivial cleanups to drivers" can be entirely acceptable. But then I do expect to just see pretty much completely mindless one- or few-liners. Or a merge message might be 30+ lines of explanation, but then I do expect it to be some major new feature or re-organization that will affect end-users or other subsystems. So there is no one single "correct" thing. Linus
Hi Linus, torvalds@linux-foundation.org wrote on Mon, 4 Sep 2023 11:22:08 -0700: > On Mon, 4 Sept 2023 at 01:28, Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > > > Back in 2020, you complained about one of my pull requests with: > > > > > You didn't even mention the stm32 controller change, which seems to be > > > the biggest individual thing in here.. > > > > And indeed that was a mistake on my side, but I received that comment > > as a request for a more detailed list of what had been touched. That's > > likely an over interpretation, but it lead me to be more exhaustive so > > the "you did not mention <this>" would no longer happen. > > You went from one extreme to another, and what I really would want is > a nice middle ground: mention the important things, summarize the > rest, and if something is subtle, please explain it. > > Now, that "something is subtle" may not even happen most of the time - > particularly in drivers - so that is probably almost never an issue. > > > About your request today, I totally get why you would like something > > more meaningful, but I don't know how to do it. Sometimes I get series > > which have a goal and I could definitely try to capture that goal in > > the summary rather than listing the patches. > > Exactly. If you have a series with a goal, please mention / explain > the goal - not the details of the series. > > But, as you say: > > > But then, what about the > > endless list of miscellaneous patches to fix the style, the W=1 > > warnings, various robot complains... > > Absolutely. That's generally the bulk of any subsystem, and then all > you need to do is mention it as a kind of "this is what happened". > > When I complained back in 2020, it was bvecause you didn't mention > even the big changes. Although quite often "big" changes can also just > be "a lot of cleanup", so mentioning it as such is also fine. > > > Because this is what I mostly get > > currently, and I believe there is no way you'll prefer something like > > this: > > * Fix misc typos > > * Fix misc style fixes > > * Update to newer API's > > Or maybe it is as long as the patches are trivial? > > Absolutely. That's _exactly_ what I want for trivial patches > (including if it's a series of 15 trivial patches that all do the same > thing to 15 different drivers). > > Instead of mentioning the individual patches, just say exactly the > above kind of "Update to new helper APIs", or "Fix warnings reported > by syzbot". > > Honestly, for pure "endpoint" drivers, that's kind of the expected > explanation. Drivers themselves seldom have any conceptually big > changes, and so the above kind of things is normal and expected. So > then you have exactly that kind of "Fix W=1 warnings" comment without > any more specificity. > > Then, occasionally you have one driver that gets a lot of work because > somebody goes in and cleans up that driver in _particular_, and so if > one particular driver stands out because a vendor (or an individual) > just decided to do a lot of spring cleaning, then you might have a > much more specific "Lots of work on cleaning up the XYZ driver" > mention. Clear. > Just as an example, let's look at some of the recent driver merges I > did, and take something like SCSI where not a lot of interesting stuff > happened. The mention was just > > "Updates to the usual drivers (ufs, lpfc, qla2xxx, mpi3mr, libsas) and > the usual minor updates and bug fixes but no significant core changes" > > and that's ok. It was a lot of small patches that didn't do anything > that you'd really care about unless you had some specific interest in > a driver. > > But I mention that merge message because it is worth noting that I > actually complained a bit to James about it, because that pull also > did end up having one thing that stood out if you looked at the > diffstat: it removed the UFS HPB support entirely. Nobody *really* > cares about it (because it was never used), which was James' argument > for not mentioning it, but it's the kind of thing that *does* stand > out and might be worth mentioning even if it's just a curiosity. It's > a _conceptually_ interesting part of the pull, even if it doesn't > actually matter in the real world. > > So I give that merge message as an example of both a perfectly fine > thing in general, but also as an example of "yeah, it could certainly > have been better". Just to give you kind of an idea what I'm looking > for. > > And don't get me wrong: sometimes I really appreciate - and want - a > lot more. *IF* there are major ABI changes, I not only want them > mentioned, I really want them explained. Duly noted. > They *probably* don't actually happen for the MTD subsystem very much, > if at all, but to give an example of somebody who does do that kind of > "ABI changes that can affect a lot of other maintainers", we have > things like the VFS layer that then affects multiple different > filesystems, and then that shows up in the merge messages as big > explanations. Or new system calls, or things like that, which affect > not only the internal kernel ABI, but that actually exposes new > user-space ABI. Then the explanations can be tens of lines of "this is > what's going on". > > So examples from the VFS layer on *those* kinds of changes: > > git show 475d4df82719 > git show c0a572d9d32f > > and no, I do not expect the MTD drivers to ever do that. > > But to give a recent example of a nice middle road from a merge I did > yesterday, look at the phy pull from yesterday, or the HID updates > from Friday. They have slightly different approaches to the summary, > but both of those make me feel like they are explaining what went on > in some simple summary without bogging down in excessive detail:" > > git show db906f0ca6bb > git show 29aa98d0fe01 That one mentions the main authors, I believe there is no added value doing this as it takes time to write and would be easily catch with a git log. But otherwise, I think I get what you expect. > Anyway, all those examples are meant as just that - *examples*. It > obviously depends entirely on what has been going on, and different > subsystems can have very different rules. And often "core changes" to > the subsystem are much more worthy of mention than some cleanup of > individual drivers. > > A merge message of just a single line of "Trivial cleanups to drivers" > can be entirely acceptable. But then I do expect to just see pretty > much completely mindless one- or few-liners. > > Or a merge message might be 30+ lines of explanation, but then I do > expect it to be some major new feature or re-organization that will > affect end-users or other subsystems. > > So there is no one single "correct" thing. I believe I get the idea. I will try to match your expectations in my next pull requests, please do not hesitate to share your thoughts if you think it could be further improved in a specific way. Thanks, Miquèl