[systemd-devel] Moving systemd-bootchart to a standalone repository
Hey, [I've put all people in Cc who have had more than one commit related to systemd-bootchart in the past] As part of our spring cleaning, we've been thinking about giving systemd-bootchart a new home, in a new repository of its own. I've been working on this and put the result here: https://github.com/systemd/systemd-bootchart This repository contains a stripped down set of the utility functions we have in src/shared and src/basic in systemd, with most of those which bootchart doesn't use removed. The man page and service file etc. are all in the new repository. A new GitHub team was created for maintainers of that code, and I'm willing to add more people to it, just let me know. Auke, you are the official maintainer of the thing, so I'd put you in that group anyway. I have a local patch that removes the current sources from systemd, but before I put that into a pull request, I'd appreciate some feedback, so please let me know if the standalone version of that tool works for you. Thanks, Daniel ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On 02/17/2016 04:51 PM, Daniel Mack wrote: Hey, [I've put all people in Cc who have had more than one commit related to systemd-bootchart in the past] As part of our spring cleaning, we've been thinking about giving systemd-bootchart a new home, in a new repository of its own. I've been working on this and put the result here: What's the reason for splitting it out into it's own repository as what's the criteria you used to determine that which may or may not be applicable to other bits of systemd?+ JBG ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On 02/17/2016 06:03 PM, Jóhann B. Guðmundsson wrote: > > > On 02/17/2016 04:51 PM, Daniel Mack wrote: >> Hey, >> >> [I've put all people in Cc who have had more than one commit related to >> systemd-bootchart in the past] >> >> As part of our spring cleaning, we've been thinking about giving >> systemd-bootchart a new home, in a new repository of its own. I've been >> working on this and put the result here: > > What's the reason for splitting it out into it's own repository as > what's the criteria you used to determine that which may or may not be > applicable to other bits of systemd?+ Barely anyone of the people working on systemd uses that tool, so it sees little testing. Also, the code works well in a non-systemd environment, so an external repository seems like a better fit. We don't have any other bits in mind so far to which this applies. Thanks, Daniel ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On Wed, Feb 17, 2016 at 9:03 AM, Jóhann B. Guðmundsson wrote: > On 02/17/2016 04:51 PM, Daniel Mack wrote: >> [I've put all people in Cc who have had more than one commit related to >> systemd-bootchart in the past] >> >> As part of our spring cleaning, we've been thinking about giving >> systemd-bootchart a new home, in a new repository of its own. I've been >> working on this and put the result here: > > What's the reason for splitting it out into it's own repository as what's > the criteria you used to determine that which may or may not be applicable > to other bits of systemd?+ When this code was merged into systemd originally it was by itself already a fairly useful tool, and the potential to benefit systemd as a project was enormous. That potential has subsided in the last two years significantly as the community pushing systemd has (I think) learned to be critical about additions to the code and the impact. As such the beneficial component of synergy has faded a bit, and it may actually hinder other projects from adopting systemd-bootchart. Splitting it out increases that potential and will allow systemd-bootchart to evolve out of cycle again, and look a bit over the fence. I've reviewed most of the changes to it, and noticed a bit of a drop of risky commits, and those are the ones that are going to be needed for this project to make it a useful tool in the future. So, I think this is a great move, one that certainly will motivate me to engage more deeply again :) Auke ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
Daniel Mack [2016-02-17 18:09 +0100]: > Barely anyone of the people working on systemd uses that tool, so it > sees little testing. For the record, I have automatic integration tests for that to ensure that it stays working in principle, i. e. it boots and produces an .svg file. Of course the test does not "look" at the SVG to figure if the information in there is correct. But it's certainly far from bitrotting, and occasionally I check the .svg result too. This is of course rather orthogonal wrt. where the code lives, we want to continue testing it in both cases. I'd say the "split or not" question mostly depends on how much of shared/ needs to be duplicated and whether that will make the future maintenance easier or harder. "This repository contains a stripped down set of the utility functions we have in src/shared and src/basic in systemd" certainly doesn't sound promising in that regard -- if an external systemd-bootchart would just link against the official libsystemd.so and not use any internal API, then splitting it out would be perfectly justifiable, but as long as it depends on a code copy that smells a bit questionable? Martin -- Martin Pitt| http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
Hi, src/shared & src/basic have very useful code that upstream have been static linking to most binaries. My understanding is that we haven’t been feeling comfortable about the API to make these paths a standalone library (or include them in libsystemd). Now that we started duplicating the code outside of systemd main repo, wouldn’t it be wise to make it a library even if it was something like libsystemd_onlyandonlyinternal.so. For people who can follow upstream’s speed and catch up with API changes we would gain: A) No duplication of useful code. B) Reduce the binary sizes. Umut > On Feb 17, 2016, at 5:51 PM, Daniel Mack wrote: > > Hey, > > [I've put all people in Cc who have had more than one commit related to > systemd-bootchart in the past] > > As part of our spring cleaning, we've been thinking about giving > systemd-bootchart a new home, in a new repository of its own. I've been > working on this and put the result here: > > https://github.com/systemd/systemd-bootchart > > This repository contains a stripped down set of the utility functions we > have in src/shared and src/basic in systemd, with most of those which > bootchart doesn't use removed. The man page and service file etc. are > all in the new repository. A new GitHub team was created for maintainers > of that code, and I'm willing to add more people to it, just let me > know. Auke, you are the official maintainer of the thing, so I'd put you > in that group anyway. > > I have a local patch that removes the current sources from systemd, but > before I put that into a pull request, I'd appreciate some feedback, so > please let me know if the standalone version of that tool works for you. > > > Thanks, > Daniel > ___ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/systemd-devel ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On 17.2.2016 20:02, Umut Tezduyar Lindskog wrote: Hi, src/shared & src/basic have very useful code that upstream have been static linking to most binaries. My understanding is that we haven’t been feeling comfortable about the API to make these paths a standalone library (or include them in libsystemd). Now that we started duplicating the code outside of systemd main repo, wouldn’t it be wise to make it a library even if it was something like libsystemd_onlyandonlyinternal.so. For people who can follow upstream’s speed and catch up with API changes we would gain: A) No duplication of useful code. B) Reduce the binary sizes. Umut More like a separate project that can be imported as submodule where necessary (say, like gnulib). Probably nobody has any will to make that happen though. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On Wed, Feb 17, 2016 at 09:17:51AM -0800, Kok, Auke-jan H wrote: > On Wed, Feb 17, 2016 at 9:03 AM, Jóhann B. Guðmundsson > wrote: > > On 02/17/2016 04:51 PM, Daniel Mack wrote: > >> [I've put all people in Cc who have had more than one commit related to > >> systemd-bootchart in the past] > >> > >> As part of our spring cleaning, we've been thinking about giving > >> systemd-bootchart a new home, in a new repository of its own. I've been > >> working on this and put the result here: > > > > What's the reason for splitting it out into it's own repository as what's > > the criteria you used to determine that which may or may not be applicable > > to other bits of systemd?+ > > When this code was merged into systemd originally it was by itself > already a fairly useful tool, and the potential to benefit systemd as > a project was enormous. That potential has subsided in the last two > years significantly as the community pushing systemd has (I think) > learned to be critical about additions to the code and the impact. As > such the beneficial component of synergy has faded a bit, and it may > actually hinder other projects from adopting systemd-bootchart. > > Splitting it out increases that potential and will allow > systemd-bootchart to evolve out of cycle again, and look a bit over > the fence. I've reviewed most of the changes to it, and noticed a bit > of a drop of risky commits, and those are the ones that are going to > be needed for this project to make it a useful tool in the future. > > So, I think this is a great move, one that certainly will motivate me > to engage more deeply again :) Hi Auke, what kind of big changes would you have in mind? Just the fact of being in one repo with systemd should not have much effect on changes to bootchart which is mostly standalone... Zbyszek ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On 02/17/2016 08:02 PM, Umut Tezduyar Lindskog wrote: > Hi, > > src/shared & src/basic have very useful code that upstream have been > static linking to most binaries. My understanding is that we haven’t > been feeling comfortable about the API to make these paths a > standalone library (or include them in libsystemd). That's correct. > Now that we started duplicating the code outside of systemd main > repo, wouldn’t it be wise to make it a library even if it was > something like libsystemd_onlyandonlyinternal.so. > > For people who can follow upstream’s speed and catch up with API > changes we would gain: I see your point, and that's one reason why we are not splitting out more packages. Downstream deviation would be cumbersome to handle, and providing API/ABI stability for a library is considered outside of the scope of the systemd project. And without this guarantee, things will break all the time, so that's not a win. In the case of bootchart, however, I believe amount of code this small tool shares with the rest of systemd (from src/shared and src/basic) is small enough to justify an exception. And things like lists, hashmaps and trivial file parses could eventually even be solved differently, with other libraries or whatever, if the maintainer decides so. Auke, did you have a look at the current code base of the standalone repo? Does it look feasible to you? Thanks, Daniel ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
Hello Daniel, On 17/02/16 17:51, Daniel Mack wrote: > As part of our spring cleaning, we've been thinking about giving > systemd-bootchart a new home, in a new repository of its own. I've been > working on this and put the result here: > > https://github.com/systemd/systemd-bootchart > > This repository contains a stripped down set of the utility functions we > have in src/shared and src/basic in systemd, with most of those which > bootchart doesn't use removed. The man page and service file etc. are > all in the new repository. A new GitHub team was created for maintainers > of that code, and I'm willing to add more people to it, just let me > know. Auke, you are the official maintainer of the thing, so I'd put you > in that group anyway. > > I have a local patch that removes the current sources from systemd, but > before I put that into a pull request, I'd appreciate some feedback, so > please let me know if the standalone version of that tool works for you. I've cross-built it for ARM v7 without problems and it seems to work not worse than before. Regards, Alex. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On Wed, Feb 17, 2016 at 4:49 PM, Zbigniew Jędrzejewski-Szmek wrote: > On Wed, Feb 17, 2016 at 09:17:51AM -0800, Kok, Auke-jan H wrote: >> Splitting it out increases that potential and will allow >> systemd-bootchart to evolve out of cycle again, and look a bit over >> the fence. I've reviewed most of the changes to it, and noticed a bit >> of a drop of risky commits, and those are the ones that are going to >> be needed for this project to make it a useful tool in the future. >> >> So, I think this is a great move, one that certainly will motivate me >> to engage more deeply again :) > Hi Auke, > > what kind of big changes would you have in mind? > Just the fact of being in one repo with systemd should not have > much effect on changes to bootchart which is mostly standalone... I have been asked on several occasions to make bootchart more palatable for other OS's, including ChromeOS and even Android. This has previously been shelved entirely, and I don't know if it's currently even feasible, but at least logistically it should be a lot easier to attempt. The rest of the things I was looking at were items that being in-tree did not affect, like new ways of grouping the process bars, better IO visualization, etc. Auke ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On Thu, 18.02.16 11:32, Daniel Mack (dan...@zonque.org) wrote: > On 02/17/2016 08:02 PM, Umut Tezduyar Lindskog wrote: > > Hi, > > > > src/shared & src/basic have very useful code that upstream have been > > static linking to most binaries. My understanding is that we haven’t > > been feeling comfortable about the API to make these paths a > > standalone library (or include them in libsystemd). > > That's correct. > > > Now that we started duplicating the code outside of systemd main > > repo, wouldn’t it be wise to make it a library even if it was > > something like libsystemd_onlyandonlyinternal.so. > > > > For people who can follow upstream’s speed and catch up with API > > changes we would gain: > > I see your point, and that's one reason why we are not splitting out > more packages. Downstream deviation would be cumbersome to handle, and > providing API/ABI stability for a library is considered outside of the > scope of the systemd project. And without this guarantee, things will > break all the time, so that's not a win. > > In the case of bootchart, however, I believe amount of code this small > tool shares with the rest of systemd (from src/shared and src/basic) is > small enough to justify an exception. And things like lists, hashmaps > and trivial file parses could eventually even be solved differently, > with other libraries or whatever, if the maintainer decides so. > > Auke, did you have a look at the current code base of the standalone > repo? Does it look feasible to you? I'd be willing to explore the idea where we make src/basic a somewhat self-contained dir that could be imported as git submodule like gnulib (as suggested by Armin) by other packages. Key would be that they pinpoint a specific revision though, as we'd not provide API compat for this. Of course, we should do so only if there are actually projects IRL that are interested in this. I am fine with making the code in src/basic more reusable, I am not very keen on establishing a fixed API for it though. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On Wed, 17.02.16 17:03, Jóhann B. Guðmundsson (johan...@gmail.com) wrote: > > > On 02/17/2016 04:51 PM, Daniel Mack wrote: > >Hey, > > > >[I've put all people in Cc who have had more than one commit related to > >systemd-bootchart in the past] > > > >As part of our spring cleaning, we've been thinking about giving > >systemd-bootchart a new home, in a new repository of its own. I've been > >working on this and put the result here: > > What's the reason for splitting it out into it's own repository as what's > the criteria you used to determine that which may or may not be applicable > to other bits of systemd?+ We have been discussing splitting this out for a while, and the lines are a bit blurry. In the case of bootchart a couple of different factors came into place: the fact that it's still relatively little intertwined with the rest of the codebase and that it's more of a "debugging" tool thatn core functionality. Also, on of the major issues was that we trouble testing this, simply because distro kernels usually don't turn on the necessary kernel features to make it work (Fedora for example turns this off, because of the performance penalty). It's primarily an excercise in lowering the maintance burden of core systemd, as bootchart (in particular because it's more of a debugging tool) doesn't really require the constant love and strict release cycle as the rest of the project. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On Mon, 22.02.16 10:45, Kok, Auke-jan H (auke-jan.h@intel.com) wrote: > On Wed, Feb 17, 2016 at 4:49 PM, Zbigniew Jędrzejewski-Szmek > wrote: > > On Wed, Feb 17, 2016 at 09:17:51AM -0800, Kok, Auke-jan H wrote: > >> Splitting it out increases that potential and will allow > >> systemd-bootchart to evolve out of cycle again, and look a bit over > >> the fence. I've reviewed most of the changes to it, and noticed a bit > >> of a drop of risky commits, and those are the ones that are going to > >> be needed for this project to make it a useful tool in the future. > >> > >> So, I think this is a great move, one that certainly will motivate me > >> to engage more deeply again :) > > Hi Auke, > > > > what kind of big changes would you have in mind? > > Just the fact of being in one repo with systemd should not have > > much effect on changes to bootchart which is mostly standalone... > > I have been asked on several occasions to make bootchart more > palatable for other OS's, including ChromeOS and even Android. This > has previously been shelved entirely, and I don't know if it's > currently even feasible, but at least logistically it should be a lot > easier to attempt. > > The rest of the things I was looking at were items that being in-tree > did not affect, like new ways of grouping the process bars, better IO > visualization, etc. Auke, could you have a look at https://github.com/systemd/systemd/pull/2664 and give your blessing? Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
On 17 February 2016 at 17:17, Lennart Poettering wrote: > On Wed, 17.02.16 17:03, Jóhann B. Guðmundsson (johan...@gmail.com) wrote: > >> >> >> On 02/17/2016 04:51 PM, Daniel Mack wrote: >> >Hey, >> > >> >[I've put all people in Cc who have had more than one commit related to >> >systemd-bootchart in the past] >> > >> >As part of our spring cleaning, we've been thinking about giving >> >systemd-bootchart a new home, in a new repository of its own. I've been >> >working on this and put the result here: >> >> What's the reason for splitting it out into it's own repository as what's >> the criteria you used to determine that which may or may not be applicable >> to other bits of systemd?+ > > Also, on of the major > issues was that we trouble testing this, simply because distro kernels > usually don't turn on the necessary kernel features to make it work > (Fedora for example turns this off, because of the performance > penalty). If you're talking about CONFIG_SCHEDSTATS, I can see that it has been enabled (with little fanfare) in kernel updates for Fedora 22 and later. Or are you referring to other kernel features? There might still be missing features in Fedora kernels, but nothing that prevents the bootcharts from being created. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] Moving systemd-bootchart to a standalone repository
2016-02-18 19:16 GMT+01:00 Lennart Poettering : > On Thu, 18.02.16 11:32, Daniel Mack (dan...@zonque.org) wrote: > >> On 02/17/2016 08:02 PM, Umut Tezduyar Lindskog wrote: >> > Hi, >> > >> > src/shared & src/basic have very useful code that upstream have been >> > static linking to most binaries. My understanding is that we haven’t >> > been feeling comfortable about the API to make these paths a >> > standalone library (or include them in libsystemd). >> >> That's correct. >> >> > Now that we started duplicating the code outside of systemd main >> > repo, wouldn’t it be wise to make it a library even if it was >> > something like libsystemd_onlyandonlyinternal.so. >> > >> > For people who can follow upstream’s speed and catch up with API >> > changes we would gain: >> >> I see your point, and that's one reason why we are not splitting out >> more packages. Downstream deviation would be cumbersome to handle, and >> providing API/ABI stability for a library is considered outside of the >> scope of the systemd project. And without this guarantee, things will >> break all the time, so that's not a win. >> >> In the case of bootchart, however, I believe amount of code this small >> tool shares with the rest of systemd (from src/shared and src/basic) is >> small enough to justify an exception. And things like lists, hashmaps >> and trivial file parses could eventually even be solved differently, >> with other libraries or whatever, if the maintainer decides so. >> >> Auke, did you have a look at the current code base of the standalone >> repo? Does it look feasible to you? > > I'd be willing to explore the idea where we make src/basic a somewhat > self-contained dir that could be imported as git submodule like gnulib > (as suggested by Armin) by other packages. Key would be that they > pinpoint a specific revision though, as we'd not provide API compat > for this. > > Of course, we should do so only if there are actually projects IRL > that are interested in this. definitely, even though most of the C code I write nowadays is are toy projects,I almost always start of by copying the shared stuff from systemd. I also think having these tools easily available will in general make it more easy to write quality C code. (and reduce NIH) > I am fine with making the code in src/basic more reusable, I am not > very keen on establishing a fixed API for it though. > > Lennart ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel