← Back to team overview

elementary-dev-community team mailing list archive

Re: 5 ideas that every desktop OS should borrow

 

I forgot to post status updates again, so this one is going to be more
like a digest.

My ulatencyd configs are now merged upstream! I'm working on
finalizing the configs for Luna now. I've added indicators as
high-priority UI elements on my machine, works fine so far. I'm also
going to tame sync daemons, e.g. dropbox lzma-compresses everything
before uploading so it can create pretty high CPU load. Ubuntu One can
simply go on 100% CPU rampage, as of my experience, so I guess I'll
lower its priority too. Syncing is usually expected to complete
quickly, but low priority will show itself only under heavy load from
elsewhere, and in this case the "elsewhere" is probably more important
to you. This is kinda bold assumption, so I'd like to hear any
contradictory use cases before I propose this for merging upstream.

Additionally, Cody contacted Nitin Gupta (zram developer) and he's
willing to work with us on integrating zram by default, w00t! Turns
out zram uses LZO by default, so it's already usable in our case. I've
suggested using LZ4 instead (almost the same, just with faster
decompression), hope Nitin considers it for future versions.

Finally, I've though a bit more about my memory lending idea... or
rather adaptive memory usage, that's a better name... I thought that
instead of unloading entire apps from memory one could implement
unloading unused tabs in those apps. This way we could forget about
closing tabs in apps as well, not only about closing apps.

Firefox already supports loading tabs on demand and that dramatically
decreases its memory usage, all it needs is to support unloading them
during runtime, not only on closing the whole app.

In this case it would be nice to create a hypervisor daemon to monitor
RAM usage and signal apps to start or stop unloading unused stuff, so
every app doesn't have to monitor memory usage on its own. Of course I
want this to be suppored by as many apps and DEs as possible, and we
also need a standard of daemon-to-app interaction, so I guess I will
post this to some FreeDesktop.org mailing list eventually and try to
get devs of other DEs involved.

I could really use feedback from devs now, especially Christian - how
hard will it be to implement transparently loading/unloading tabs from
memory in Midori? Tabs in other apps? How hard will it be to clean up
thumbnail caches in pantheon-files of unused thumbnails on receiving a
D-bus signal?

The updated blueprint on about this can be found at
https://blueprints.launchpad.net/elementaryos/+spec/memory-lending

Oh, and I think I've finally understood what distributions are trying
to achieve by using tmpfs for /tmp and how to do it properly:
http://shnatsel.blogspot.com/2012/05/tmpfs-for-real-life-write-buffering.html
Gotta post this to LKML... It's looks like a dump of the brain state
at the moment, I think I'll need help to make that more understandable
and structured.

-- 
Sergey "Shnatsel" Davidoff
OS integrator @ elementary


Follow ups

References