Significant Interactivity Boost in Linux Kernel
An anonymous reader writes "The Linux kernel team is at it again. Linux creator Linus Torvalds recently proposed a patch to offer interactive processes a boost, greatly benefiting the X desktop, as well as music and movie players. O(1) scheduler author Ingo Molnar merged Linus' patch into his own interactivity efforts, the end result nothing short of amazing... The upcoming 2.6 kernel is looking to be a desktop user's dream come true."
Absolute astounding. I am in complete and utter shock over this. Truly, truly the most amazing thing I've ever seen or heard.
Now what the hell is this article about?
Massivly scalable SMP kernel, or instantly responsive desktop kernel... make up your mind leenux, you're confusing me!
You've gotten first or second post in every article you've posted in so far. What are you doing?
Compile it and your'e zooming.
That Open source is more progressive than miker$oft
'ta
Erm, when was the last time you used Linux then? Running GNOME on RedHat 8 here, no problems with cut-and-paste between KDE/GNOME/Motif apps :-)
another revolution! [...] again :-)
Does this mean software will be easier to install also?
At it again? At what again? That sorta makes it sound like a girls gone wild video or something. Kernel Dev's Gone Wild volume 3, where Ingo and Linus bare their breasts for beads at a Linux user conference in Tampa Bay - no, that's just too strange...
Oh, one more thing:
Hello, my name is Ingo Molnar. You killed my father: prepare to die.
Robots are everywhere, and they eat old people's medicine for fuel.
Um, you can cut and paste in X by highlighting text and then middle clicking on its destination, no matter what app you're using. But I guess you knew that.
I completely agree. This has been one of the biggest issues holding Linux back from the mainstream. I'd like to see how this whole thing pans out.
Actually, Linus's patch doesn't improve things any better than the scheduler patch it is Linus's patch combined with the scheduler patch that make it such a huge improvement. Again... its the COMBO patch that's arousing so much excitement.
Inconceivable!
Heck, I use RH 7.3/KDE, and I frequently run 'doze in a VMware window. I can even copy/paste between Windows and Linux apps seamlessly!
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Sometimes I actually wonder if posts like these are the trolls they obviously seem to be, or if by some twist of fate they actually believe this senselss crap?
Something forms itself from the silent void of the empty mailing lists and the noisy chaos of the crowded mailing lists. It shapes and protects us, it entertains and challenges us, it aids us in our journey through the ether world of software. It is mysterious; it is at once source code and yet object code. I do not know the name, thus I will call it the Tao of Linux.
If the Tao is great, then the box is stable. If the box is stable, then the server is secure. If the server is secure, then the data is safe. If the data is safe, then the users are happy.
In the beginning there was chaos in Unix.
Tanenbaum gave birth to MINIX. MINIX did not have the Tao.
MINIX gave birth to Linux 0.1 and it had promise.
Linux gave birth to v1.3 and it was good.
v1.3 gave birth to v2.0 and it was better.
Linux has evolved greatly from its distant cousins of the old. Linux is embodied by the Tao.
The wise user is told about the Tao and contributes to it. The average user is told about the Tao and compiles it. The foolish user is told about the Tao and laughs and asks who needs it.
If it were not for laughter, there would be no Tao.
Wisdom leads to good code, but experience leads to good use of that code.
The master Cox once dreamed that he was a Kernel. When he awoke he exclaimed: "I don't know whether I am Cox dreaming that I am a Kernel, or a Kernel dreaming that I am Cox!"
The master Linus then said: "The Tao envelopes you. You shall create great code for Linux."
"On the contrary," said Cox, "The Tao has already created the code, I will only have to find it and write it down."
A master was explaining the nature of the Tao to one of his students:
"Is the Tao in the VM subsystem?" he asked. "Yes," replied the master.
"Is the Tao in the scheduler?" he queried again. "The Tao is in the scheduler."
"Is the Tao even in the modules?". "It is even in the modules," said the master.
"Is the Tao in the Low-Latency Patch?"
The master frowned and was silent for much time.
"You fail to understand the Tao. Go away."
The Tao is the yin and the yang. It is the good and the evil, it is everything and yet it is nothing, it is the beginning and the end.
The Tao was there at the kernel compile, and it will be there when the kernel panics.
A novice user once asked a master: "Why compile in C when C++ is more popular?"
"Why a monolythic kernel when Mach is more popular?"
"And why use ReiserFS when ext2 is more popular?"
The master sighed and replied: "Why run Unix when NT is more popular?"
The user was enlightened.
A frustrated user once asked a master: "My kernel has panicked, should I post to lkml?"
"No," replied the master, "You will only bother the Tao."
"Should I rm -rf?"
"No, you will have wasted the Tao's time."
"Well should I search the web?"
"You will search for all eternity," said the master.
"Perhaps I should try FreeBSD?"
"Then you will have disgraced the Tao."
"I suppose I could try gdb," said the user.
The master smiled and replied: "Then you will have made the Tao stronger."
A stubborn user once told a master: "I run version 2.2. I always have, and I always will."
The master replied: "You are foolish and do not understand the Tao. The Tao is dynamic and ever changing. Linux strives for the perfection that is the Tao. It flows from version to version with peace."
"So my Linux does not have the Tao, so what?" said the foolish user. "Oh your Linux is of the Tao," said the master. "However, the Tao of Linux follows the Tao of the C library. One day the C library will change, and your Linux will be left behind." The user was silent.
An angry user once yelled at a master:
"My Linux has panicked! What lousy software it is, I hate it so!"
"You are insulting the Tao," said the master. "The Tao is everywhere bringing order to hundreds of networks, aiding thousands of users, and fighting that of which we call the 'lame.' Do not disrespect the Tao; however, the Tao will forgive you."
"I apologize," said the user, "And I will be more forgiving the next time the Tao fails me."
"The Tao has not failed you, it is you that has failed the Tao," said the master. "The Tao is perfect."
The Tao decides if a kernel shall compile, or if it shall abort.
The Tao decides if a kernel shall boot, or if it shall freeze.
The Tao decides if a kernel shall run, or if it shall panic.
But, the Tao does not decide if a box will have no hardware failures. That is a mystery to everyone.
A young master once approached an old master: "I have a LUG for Linux help. But, I fail to answer my students' problems; they are above me."
The master replied: "Have you taught them of the Tao?" he asked. "How it brings together man and software, yet how it distances them apart; how if flows throughout Linux and transcends its essence?"
"No," exclaimed the apprentice, "These people cannot even get the source untarred."
"Oh, said the master, "In that case, tell them to RTFM."
A master watched as an ambitious user reconstructed his Linux.
"I shall make every bit encrypted," the user said. "I shall use 2048 bit keys, three different algorithms, and make multiple passes."
The master replied: "I think it is unwise."
"Why?" asked the user. "Will my encryption harm the mighty Tao, which gives Linux life and creates the balance between kernel and processes? The mighty Tao, which is the thread that binds the modules and links them with the core? The mighty Tao, which safely guides the TCP/IP packets to and from the network card?"
"No," said the master, "It will hog too much cpu."
The core is like the part of the mind that is static. It is programmed at a child's creation and cannot be changed unless a new child is made; unless a new kernel is compiled.
The modules are like the part of the mind that is dynamic. It is reprogrammed every time one learns new knowledge; every time one learns better code.
One is yin, the other yang. Each is nothing without the other.
A novice came to lkml and inquired to all the masters there: "I wish to become a master. Must I memorize the Linux header files?"
"No," replied a master.
"Must I submit code to Bitkeeper?"
"No," replied the master.
"Must I meditate daily and dedicate my life to Linux?"
"No," replied the master again.
"Must I go on a quest to ponder the meaning of the Tao?"
"No. A master is nothing more than a student who knows something of which he can teach to other students."
The novice understood.
And thus said the master:
"It is the way of the Tao."
A user came to a master who had great status in lkml. The user asked the master: "Which is easier: implementing new features to the kernel or documenting them?"
"Implementing new features," replied the master.
The confused user then exclaimed:
"Surely it is easier to write a few sentences in the man page than it is to write pages of code without error?"
"Not so," said the master. "When coding, the Tao of Linux opens my eyes wide and allows me to see beyond the code, to let the source flow from my fingers, to implement without flaw. When documenting, however, all I have to work with is a C in high school English."
He who compiles from the stable tree is stubborn
and unwilling to change, but is guaranteed reliability.
He who compiles from the current tree is wise but perhaps too conformist, but is guaranteed steadiness.
He who compiles from the unstable tree is adventurous and is guaranteed new innovations: some good, some bad.
He who compiles straight from Bitkeeper is brave but guaranteed turbulence.
They are all of the Tao. One shall respect the old, and debug the new; none shall argue over which is greatest.
There once was a user who scripted in Perl: "Look at what I have to work with here," he said to a master of core, "My code is interpreted dynamically, the syntax is unique and simple, I have sockets, strings, arrays, and everything I could ever need. Why don't you stop meddling in C and come join me?"
The C programmer described his reasoning to the scripter: "Scripting is to C as ebonics is to Latin. If the scripter does not grow beyond that of which he scripts, he will surely {die}. Besides, without C, how can there be script?"
The scripter was enlightened, and the two became close friends.
Im sorry, its not the kernel that makes a desktop OS what it is, its the userinterface on top. Linux isnt going to be truely Desktop friendly untill X11 gets replaced with something that doesnt completely suck. You shouldnt need a high end video card to make X11 nice and smooth or have to use a stripped down UI. If Linux wants to set it self apart from all the other OS's its going to need its own desktop engine. I do agree that the 2.6 kernel is going in the right direction, I just belive the rest of the OS is being left really far in the past.
My 2 1/2 cents Canadian
Linux was the fastest platform on the block (back in the days of Windows 3.1 and flawed pentiums). More recently, working with Linux, I was disappointed with the speed. Maybe this will be the killer-non-ap that makes Linux scream and encourages us all to delete their FAT32 partitions for good?
BTM
That was the turning point of my life--I went from negative zero to positive zero.
it is very on topic
"As an avid Microsoft fan..."
And you admit this on Slashdot?! You are brave.
I believe in de-evolution. God made the world perfect, man fell, and its been going downhill ever since!
You sound like Inger Marie Sunde. Maby there be a job for you working as a DA..., you seam to come with the same arguments. (just remeber to check if the Policedeparten is using Linux, befor you call all Linuxuser for crimenal)
Nahm I don't see how it would make "apt-get install foo" any easier.
Especially because even though apt-get automatically fetches and installs dependencies, it takes an hour to do so over dial-up. And no, home-priced broadband isn't available everywhere in the United States, let alone everywhere in the world.
Will I retire or break 10K?
... had i the possibility, i'd surely give you a (+10: Funny Troll)
:-)
you just made my day a bit happier
In what particular elements of the linux GUI do you find performance issues? Linux has no GUI, those are third party apps, as is the server which provides the framework for GUIs (XFree.) It's a huge jump to blame GUI issues on the kernel, I'm curious about the reasoning behind it.
Does it have many boxen?
... which doesn't have cut and paste at all outside the "Edit" menu.
Anyone with the intelligence to type out h t t p colon slash slash s l a s h d o t dot o r g successfully is probably a troll, I'm afraid!
Now, I am a long-time user of Windows, but am (and have been always) increasingly tempted by switching to a Linux-based distribution, probably Redhat, on my main desktop machine.
With that lack-of-linux-knowledge, could someone explain why precisly this is a "Significant Interactivity Boost in (the) Linux Kernel"? Thank you.
I find some things jump a little (e.g. dragging windows around) at the moment (RH8, Athlon MP 1600, GeForce 2) in X.
:-)
On a 475MHz laptop with ATi Rage Pro video, it runs just as smooth as XP does (they both jump a bit when dragging windows around).
I know this shouldn't happen on the fast PC though. I must have something set up wrongly. Maybe the latest kernel will make it less noticeable though
Follow me
It's:
My name is Ingo Molnar. You kill -9'd my parent process. Prepare to die()
or duke nukem forever?
he just can't load those go.te.se pages fast in linux like he can in windows
I cannot tell you how long I've been waiting for something like this. As an avid Microsoft fan, one of my biggest beefs was the inferior performance of the Linux GUI and its components. Although I will learn the console eventually, I will still probably use the GUI as my cheif method of computing since I find it very fast and efficient. Maybee this will finally blur the line between OS's enough to get more people to switch over./i.
One should remember that X was engineered for flexibility and extensibility rather than speed. So the kernel may make some things better, but it is probably not a major bottleneck in many applications.
Most home-users do not use the advanced features of X (such as XDM, and serving out the display over a network), so I think that one of the things that is necessary is the development of a GNOME suite over framebuffer, which would provide even better performance at the cost of stability. Since GNOME could also work on top of X, we could have a truly extensible environment that could suit home users and corporate users (who may use X).
LedgerSMB: Open source Accounting/ERP
Stop stealing that intellectual property from SCO already. Have you no shame? The gig is up: there's no way you could keep putting this stuff out without ripping off the hard working SCO programmers.
Fermat's other theorem: "I have a simple proof, but I can't write it down as I fear it's a DMCA violation to discuss it"
Except that doesn't work if the X app is being displayed locally but run remotely. Or at least it doesn't seem to.
Well, okay. Look. I just opened up my X server here on my mac os X box, sshed with X tunneling to my university's Solaris box, opened up xchat, selected some text, and attempted to paste it into a nearby xterm. Oh, hey, guess what, didn't work. I tried what you said. I selected some text, i clicked on the xterm, i tried middle-clicking and right-clicking. Nothing there. Care to tell me what i'm doing wrong?
Anyway, the whole select-to-copy thing is HORRIBLE GUI design. What if you want to select something in order to edit it without *blowing away* the clipboard? What if your hand slips and you select a couple letters of text by accident before you can paste something important into its destination? I, personally, have intense problems with the copy-paste thing because at some point i picked up the stupid habit of often scrolling by selecting text and dragging off the edge of the window, which will obliterate the textboard. And, worst of all, there's that nagging little question: let's say i'm editing a file, and i want to select some text in the part of the document i'm editing, "cut" it, scoll up to the top of the document, delete part of a paragraph, write a couple lines, and then paste what i just cut. What X's copy/paste means is that i must select the text i want to move to copy (making sure not to delete it yet, becuase it would be too easy to accidentally select text and copy over what i've written, losing it forever), scroll up, click where i want it to go, paste, and then delete and rewrite the text around it, scroll back down, and then delete the text i copied. Yeah, way to go on making the interface fit the needs of the user. Dammit.
And then there's the fact that, still, mostly due to the broken silliness of X copy&paste, most applications don't quite work the same, becuase they've all fucking implemented the clipboard in nonstandard ways because those unstandard ways are "better". Which they are, unless for some silly reason you want to copy and paste between applications. We've got the "clipboard" and the "cut buffer" and i don't know what either means, and lately some GNOME apps and such have taken to signing up with a sane (i.e., "copy" and "paste" are commands, and as such require a menu use or a key combination). And then vim has like its ten little internal clipboards, and emacs has some clipboard system i don't even pretend to know the first thing about, and i mostly use vim as my text editor in unix. And none of these apps i've ever seen give the option of choosing which copy/paste behavior you want: i mean, none of them will give you a nice little preference that says "select to copy" vs "select 'copy' from menu to copy" vs "have ten little internal cycling cut buffers with some arcane method of manipulation". And i still don't know how copy/paste within vim is supposed to interact with other X apps. I'd test it right now, but for some reason still unknown to me, i can't get gvim to run over my ssh-tunneling setup. When i try, it says:
X11 connection rejected because of wrong authentication.
XIO: fatal IO error 32 (Broken pipe) on X server "localhost:13.0"
after 0 requests (0 known processed) with 0 events remaining.
The connection was probably broken by a server shutdown or KillClient.
Maybe it doesn't like my MIT magic cookies, or something? But I digress. Face it. Copy and paste is still the most broken thing about X, and that's saying a lot. And maybe i'm just dense, but i still can't figure out how to change my X keyboard mapping on these silly Solaris boxes.
-- super ugly ultraman
bashing linux/x/kde/whatever speed, I'm willing to bet you've never doen a full build (ala Gentoo) and actually optimized it for your system...have you? KDE 3.1 is as fast or faster than windows XP on my 1ghz box...it took a while to build, but it's well worth it.
Is here
On Fri, 28 Feb 2003, Andrew Morton wrote:
> >
> > Andrew, if you drop this patch, your X desktop usability drops?
>
> hm, you're right. It's still really bad. I forgot that I was using distcc.
>
> And I also forgot that tbench starves everything else only on CONFIG_SMP=n.
> That problem remains with us as well.
Andrew, I always thought that the scheduler interactivity was bogus, since
it didn't give any bonus to processes that _help_ interactive users
(notably the X server, but it could be other things).
To fix that, some people nice up their X servers, which has its own set of
problems.
How about something more like this (yeah, untested, but you get the idea):
the person who wakes up an interactive task gets the interactivity bonus
if the interactive task is already maxed out. I dunno how well this plays
with the X server, but assuming most clients use UNIX domain sockets, the
wake-ups _should_ be synchronous, so it should work well to say "waker
gets bonus".
This should result in:
- if X ends up using all of its time to handle clients, obviously X will
not count as interactive on its own. HOWEVER, if an xterm or something
gets an X event, the fact that the xterm has been idle means that _it_
gets a interactivity boost at wakeup.
- after a few such boosts (or assuming lots of idleness of xterm), the
process that caused the wakeup (ie the X server) will get the
"extraneous interactivity".
This all depends on whether the unix domain socket code runs in bottom
half or process context. If it runs in bottom half context we're screwed,
I haven't checked.
Does this make any difference for you? I don't know what your load test
is, and considering that my regular desktop has 4 fast CPU's I doubt I can
see the effect very clearly anyway ("Awww, poor Linus!")
NOTE! This doesn't help a "chain" of interactive helpers. It could be
extended to that, by just allowing the waker to "steal" interactivity
points from a sleeping process, but then we'd need to start being careful
about fairness and in particular we'd have to disallow this for signal
handling.
Linus
----
===== kernel/sched.c 1.161 vs edited =====
--- 1.161/kernel/sched.c Thu Feb 20 20:33:52 2003
+++ edited/kernel/sched.c Wed Mar 5 19:09:45 2003
@@ -337,8 +337,15 @@
* boost gets as well.
*/
p->sleep_avg += sleep_time;
- if (p->sleep_avg > MAX_SLEEP_AVG)
+ if (p->sleep_avg > MAX_SLEEP_AVG) {
+ int ticks = p->sleep_avg - MAX_SLEEP_AVG + current->sleep_avg;
p->sleep_avg = MAX_SLEEP_AVG;
+ if (ticks > MAX_SLEEP_AVG)
+ ticks = MAX_SLEEP_AVG;
+ if (!in_interrupt())
+ current->sleep_avg = ticks;
+ }
+
p->prio = effective_prio(p);
}
enqueue_task(p, array);
In X or CLI with mouse, how do you do a highlight - copy - highlight - replace?
This has been a aggravation to me since I got my first linux box running, and would have been usefull in this post when I pasted in aggravation from Kdict next to aggrivation then had to ctrl-arrowkey backspace.
A link to a page with these type of operations would be most handy.
This is where I keep my clever quotes "" Yup I only got a pair, so I better not waste em!
Wow, you can cut and paste text? I assume that preserves all font/style/size information, right? What if there's a graphic embedded in the text, does that come along for the ride?
...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
There was a time when idiots did not walk the earth.
Linux still screams, I have a single server with two gig's of ram in it that runs 100 desktops (KDE) simultaneously. Yes it indeed takes alot of ram to run all of the new software. But for a machine that runs 2200 processes that is a impressive feat. It is a dual processor box and I have yet to see it reach over 30% processor utilization, a testament to the efficency of the kernel.
Software today requires a ton of ram, this has nothing to do with efficency of the linux kernel.
Along with this goes the idiots that think there is something wrong with X. I run this stuff in a corporate environment and X windows is linux's biggest strength. Remove X Windows and I would have to eliminate our corporate use of Linux.
Got Code?
But windows xp already does this.
please work on making linux a better server os please. the customer is not asking for better desktop where windows is already untouchable.
I am curious... which GUI do you use in Linux? What speed processor and how much RAM do you have? Which distribution (or kernel) of Linux do you use?
I ask because it has been my experience that Linux is already considerably more responsive (in terms of GUI performance) than Windows. I use KDE 3.1 with Linux 2.4.20 and I have 512 megs of RAM and a 1.46 Ghz processor.
Now, least people accuse me of trolling (or of pandering to the Linux crowd), I should point out that I am not sure why Windows is so unresponsive. It seems to have something to do with hard drive access. It seems to me that Windows XP is acting like I'd expect it to if I didn't have DMA enabled for my hard drives. Basically, whenever I access the hard drive, the GUI becomes almost completely unresponsive, sometimes taking almost a minute to fire up even a browser. I have checked, though, and I do have DMA enabled.
So I truly do not know what is going on with Windows, but in Linux I just don't have these problems. Under heavy disk access, it may take a few seconds to fire up a browser in Linux, but that's it. MP3s keep playing, my apps are still responsive, etc. etc.
Oceania has always been at war with Eastasia.
Don't be ridiculous. We are having a serious conversation here.
Of the three I predict StarTux will come first, seeing as how he's whacking it to tentacle-rape hentai at this very moment.
Smoothness when dragging stuff around probably has more to do with the 2D hardware on your graphics adaptor and the drivers for it. Even though this new kernel apparantly will make things feel snappier I still wouldn't be surprised if GUI jumpiness still happens. 3D acceleration seems to be the hot priority right now. Hence Quartz Extreme in OS X, since the video card is being optimized for 3D make everything look like it's 3D.
I can't wait to watch the 3D animation of the kernel source with this...the best part will be seeing the patch! :-)
" As an avid Microsoft fan, one of my biggest beefs was the inferior performance of the Linux GUI and its components."
That would depend on exactly what you talking about. Those linux users running something like Blackbox would laugh at you for saying so. I'd also suggest as a user of both, KDE and XP have about the same interactive performance as well.
There's no doubt Windows still has more polish than Linux as a whole when it comes to the desktop. And while anything that improves any of LInux's many "gui's" is a welcome event, Linux's gui's are hardly inferior performance-wise across the board like your implying.
"Maybee this will finally blur the line between OS's enough to get more people to switch over."
Performance doesn't rate very high on why windows users aren't switching over. Lack of familiar apps and games, lack of widespread OEM bundling, and lack of millions in marketing are what's keeping people from switching over.
If you wanna get rich, you know that payback is a bitch
Looks like someone is using the server locally on kerneltrap.org, as it's down...Hopefully they're getting something done at least :).
The Right Reverend K. Reid Wightman,
Now that we are on this topic, it might be a good time to ask this question: How can i get my box to boot a 2.5.x kernel?! I am no newbie to kernel configs, it looks like i did everything right, however i am greated by a "Booting linux kernel..." then my HD making noices for about a minute (but no output to console) and then ... nothing .. keyboard unresponsive, no output on console, nothing..
.64 and .64-bk3)
Is there some magic ingrediant i missed? I know modutils changed, but i don't even seem to get to a point where that could make the slightest difference
(had this with 2.5.61,
Every new release of Windows wasn't vastly slower and more bloated then the release before it...
Oh wait. No there wasn't.
If you wanna get rich, you know that payback is a bitch
*ingo > I tried something like this before, and it didnt work.
*linus >You can't have tried it very hard. In fact, you haven't apparently tried it hard enough to even bother giving my patch a look, much less apply it and try it out.
...
Are you _crazy_?
Normal users can't "just increase the priority". You have to be root to do so. And I already told you why it's only hiding the problem.
...
Get your head out of the sand, and stop this "nice" blathering.
Linus
Liberty.
Thanks to updates on the staus of BSD that are regularly posted here, many loyal slashdot readers will be aware that BSD is dying. Recent enhancements to the linux kernel have removed any further reason for its use. Linux should get a boost when the BSD developers see the error of their ways and come to the lignt.
Thankyou for your time.
Magic. Got it.
This guy is way out there
Anyway, I hope Linus and Ingo now have some spare time for real dreams of power users with Linux desktops - drivers! I used to run Linux at work and at home (used to, because I got rid of the Intel box at home). Between these two machines, I had an NVIDIA card, lucent WinModem, CLIE, Zaurus and an NTFS partition that wasn't recognized by default Redhat kernel.
After every kernel upgrade, I had to recompile 5 drivers. CLIE and Zaurus drivers came in the form of patches that usually refused to apply, or caused a hang when the device was attached! Once I tried a 2.5 kernel because it had some features, like suspend and resume that I could really use. While the default configuration built Ok, once I enabled the drivers I wanted, I couldn't get the thing compiled even before applying my patches.
Yes, you could just run "Redhat operating system", never upgrade the kernel and wait a few months to install a new release. Then you might find binary drivers to download for the kernel for your particular kind and number of CPUs. But the whole point of Linux (on a personal desktop) is to have some fun and try new stuff out easily.
Linux developers really need to stabalize driver interfaces. I should be able to go to kernel.org and download the latest kernel *binary*, then install a binary driver from the CD-ROM that came from my NVIDIA card.
USB and Firewire buses should be exposed by kernel as network interfaces, accessible to user programs through socket API. In this way, USB drivers will be both easier to write/debug AND will not contribute to Oops. For the ultimate of cool, Wine should support Windows USB drivers (my Virtual PC does!) and I should be able to just install Palm and Zaurus desktops and use them rather trying to feed ttyUSBNN to kpilot.
Having a stable system that doesn't have to be rebooted to Windows to use some unsupported USB device is far more important than raw performance. I wish any system's developers - Linux, *BSD, Darwin, BeOS, etc - would concentrate on this goal before going back to play with cool toys.
Linux creator Linus Torvalds recently proposed a patch to offer interactive processes a boost, greatly benefiting the X desktop, as well as music and movie players. O(1) scheduler author Ingo Molnar merged Linus' patch into his own interactivity efforts, the end result nothing short of amazing... The upcoming 2.6 kernel is looking to be a desktop user's dream come true
The "feature" of biasing the scheduler either towards interactive proceses or to background processes has been around since NT 3.51, if I remember correctly. It was definitely in NT4, released in 1994 (again, IIRC). So, while this is welcome, it's not an innovation, and saying that Linus "proposed" it is misleading.
ok your right. we'll stop. what were we thinking?
would you consider being a member of the board ?
no really. you are so right.
That's funny. I have exactly the opposite problem: Windows XP is fine, but KDE 3.0 seems to run slow with my 256 megs of ram and my 1.8 Ghz (Celeron) processor.
Its not just a UI issues; it does relate to the kernel in that the kernels job is to manipulate process priorities and give CPU cycles where they "should best be given". This is actually best done at the kernel level, and NOT the GUI level, because the GUI does not know about the other non-GUI processes is "competing with". I've felt for a long time that something like this should be done in both Windows AND Linux.
Windows is TERRIBLE at this. Consider the following scenario, which most here who here run Windows XP will be able to identify with. You boot up, you've just logged in. The task bar is there on the screen, the start button there, you click on it. And nothing happens. You wait. Still nothing happens. You wait some more. You start to get annoyed and click the start button a few more times. The hard disk is grinding away while Windows XP does all sorts of "invisible stuff" in the background. The computer is about as responsive as a brick. Then after anything from 20 seconds to a minute, the start menu suddenly opens and closes rapidly in quick succession a half dozen times.
THIS IS NOT HOW COMPUTERS SHOULD BEHAVE. Its pathetic. This is a perfect example of the necessity of this. The task bar process doesn't know about all those other background processes hogging CPU after you log in; there is no elegant way for it to magically know when to set its priority temporarily high, and for how long. But the kernel can say, OK, the user is trying to press a button, we must respond, and temporarily boost the start bar (explorer.exe) process and block the others.
On desktop machines (i.e. not servers), user input is the most important thing. If the user presses a button, something must happen. The kernel should be continually shifting priorities around to where the user is focusing his/her input.
But the kernel can say, OK, the user is trying to press a button
Just to preempt those people who are about to jump down my throat because "the kernel is not supposed to know about things like buttons", I know that, but thats not what I meant. I was speaking on a more abstract / higher level, but obviously this can still be implemented in terms of lower down OS things, e.g. the Win32 message queue and HWND system: the "OS" *does* know when, for example, when mouse click messages are posted to the DefWndProc of an HWND, and it does know which process is associated with that HWND, etc. In the Linux OS design view, this isn't part of the kernel, no. But in Windows, this is just one layer above what Linux people would classify as being "the kernel"; in Windows there is a lower degree of separation between the two.
I have to say that KDE 3.1 is pretty snappy on my measly PII 400 with 320 MB of RAM under Gentoo Linux.
Saying KDE is slow is fudding.
Yeah, and if somebody get rid of /dev/dsp and replace it with something that can be opened multiple times, I'll be really happy. Artsd is the right evil!
Jan Halasa
hmmm... I have a 700 duron and 256 megs of ram. KDE 3.1 is very responsive, and I'm using it with Mandrake 9. In fact a friend just left who just told me that his Duron 950 (otherwise, same configuration) is much slower under win2000 than my KDE.
So your experience is not normal operation by any means - something must be broken I think. Oh, and try upgrading to KDE 3.1 - its faster in my experience than 3.0.x. The only slowdown (but still being within tolerability) occured when I had video and audio previews enabled in Konqueror (but on the other hand they were amazing - just holding the mouse button over an AVI showed me a preview in a tooltip! - and it only to 2-3 secs to start).
smoketoomuch.
I'll stick with my 1984-vintage Macintosh, thanks.
I always felt that one the advantages of *nix+X over that other OS was that the UI processes where not part of the kernel as a high priority, so that some UI glitch didn't lock the whole machine up. Sure, by doing so, it makes the system feel more responsive (feel responsive=feel faster if you don't know better, this is why M$ did this I propose), but fairly problematic when one of them misbhaves (and you can't switch to a console to kill of a rogue application). Or did I just miss the point ? SB
Since I would like to keep using my ass for sitting on, this is not the type of question to post to Torvalds, but maybe someone here can enlighten me:
Why is there not more effort being put into making the scheduler real-time and pre-emptive (and I don't mean pre-emptive at the application level, but all the way down to the driver level)?
I know the SMP support solve some of the pre-emptive issues, but all in all these scheduler patches sound very kludgy. Is it because the unix subsystem precludes such a thing, or is the kernel design just too far off to make this work, or is there simply no desire because these patches are considered a 'better' approach?
For example, are context switches extremely expensive for the Linux kernel?
This is NOT intended as flaimbait, just true interest.
Right. Like Slashdot isn't linked to from anyplace on the web.
You're absoluetley, positively correct. Instead of giving priority to either background or foreground processes like you can choose in windows, there should be an option to give priority to whatever the interactive user is trying to do.
"the problem is due to excessive spurgel-production in the VM frobnicator"
Nothing like letting a linux box with say Redhat 7.3 (KDE), Evolution, 4 xterms, Mozilla, Galeon, XMMS get jittery.
Go to xterm, try to unzip a 1 gig zip file (on a HD on that box) and the open mozilla and drag the window around...
Wait wait wait, mouse quits moving... Then it starts jumping all over the screen. Time for a coffee.
This is part pager and part interactive task/busy background task thing that these patches try to fix.
That was a big turn off of the 2.4 kernel for me.
m
It is official; Netcraft confirms: Linux is dying
One more crippling bombshell hit the already beleaguered Linux community when IDC confirmed that Linux market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that Linux has lost more market share, this news serves to reinforce what we've known all along. Linux is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be a Kreskin to predict Linux's future. The hand writing is on the wall: Linux faces a bleak future. In fact there won't be any future at all for Linux because Linux is dying. Things are looking very bad for Linux. As many of us are already aware, Linux continues to lose market share. Red ink flows like a river of blood.
Redhat is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time Redhat developers Michael Evans and Timothy Buckley only serve to underscore the point more clearly. There can no longer be any doubt: Redhat is dying.
Let's keep to the facts and look at the numbers.
Mandrake leader Jacques states that there are 7000 users of Mandrake. How many users of Slackware are there? Let's see. The number of Mandrake versus Slackware posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 Slackware users. SuSE posts on Usenet are about half of the volume of Slackware posts. Therefore there are about 700 users of SuSE. A recent article put Debian at about 80 percent of the Linux market. Therefore there are (7000+1400+700)*4 = 36400 Debian users. This is consistent with the number of Debian Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, Mandrake went out of business and was taken over by Redhat who sell another troubled OS. Now Redhat is also dead, its corpse turned over to yet another charnel house.
All major surveys show that Linux has steadily declined in market share. Linux is very sick and its long term survival prospects are very dim. If Linux is to survive at all it will be among OS dilettante dabblers. Linux continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, Linux is dead.
Fact: Linux is dying
How could they possibly do this without assistance from SCO programmers? It's just too complex for mere mortals.
Sincerely,
SCO
Look at the patch. There's no fancy algorithm, nothing compared to Dijkstra's work at all.
Well on server machines, I figure the machines should still pay good attention to the admin.
If you need to kill a process, waiting seconds for each character/line to show can be a very bad thing.
MY GOD!!! Why didn't I think of that!!1!! I now see the light my brother! I was stupid enough to think that the thing should just work, but boy, was I majorly wrong! Thank you, thank you!!!
*snort*
There are various solutions to this problem. It sounds like the Linux kernel people are trying priority inheritance via the messaging system (local sockets). QNX has had that for over a decade. Because QNX does almost everything, including all I/O, by message passing, it has to do this right. In the UNIX world, message-passing was added quite late, in BSD, and X is one of the few interactive programs that uses socket communication on the local machine. Sockets are used mostly to talk across the network. So support for time-critical local sockets isn't very good. UNIX pipes were the original UNIX interprocess communication mechanism, and they were intended as batch-like devices. Sockets look, and work, a lot like pipes. This legacy is the real cause of the problem.
Of course, the reason Linux users actually want this feature is so that they can play their pirated MP3s in the background while using X-windows.
Finally, the annoying mouse hiccups will be gone. On slower machines, I never ran Linux because of this. Maybe we can use this on some more old labs now. Wonder what's going to be in the next M$ Halloween memo...
Actually, I find most software whether open or closed to be a complete waste due to poor design, language choice, unneeded complexity, and years of cruft. Especially the popular packages. While the good (what little there's of it) stuff is rarely in wide use. Why is bloat and complexity more popular than beautiful, simple designs? Furthemore, why do most people insist on using the legacy inferior crap when often better alternatives are available?
X: "network transparancy" is great, however it's not designed for low-bandwidth interconnects. With 24 and 32 bit modes even running X over a 100 Mbit LAN is unacceptable. Of course the bloat, gazillions of libraries, and "standards" don't help either.
X unrelated Unix hall of shame includes: BIND, Sendmail, INN, OpenLDAP, Mozilla, Apache 2.0, UW IMAP, Cyrus IMAP, the IMAP protocol itself, the SMTP protocol, the idiotic requirement for 7 bit data in email and Usenet, etc., etc. Feel free to add your favorite misdesigned, buggy or bloated monster here.
No it's the O/S fault it can't manage the start up. If it's not ready for input it shouldn't show the start button as clickable. This happens on Windows NT too.
Another thing: try this on Windows 98. While Windows 98 is booting up, just as the desktop gets drawn, press the windows key (or wait till the task bar is just shown).
Windows 98 crashes - you have to ctrl-alt-del and select shutdown.
I for one happen to love X11's method of copy & paste. It's so much faster and more convenient than under windows. I like being able to simply select something in one window, then middle-click it into another window without having to enter additional keystrokes or menu commands.
Whenever I'm on a windows box, I groan at having to manually copy after selecting, and not being able to paste with one mouse click.
Remember one person's UI annoyance is another person's UI bliss. }:) That's why we'll never agree!
Okay. In that case, perhaps you can tell me how to get Windows XP functioning nice and quickly while there's disk access. I certainly haven't been able to.
Alternatively, perhaps I can help you with your installation of KDE. Which version of KDE do you have? Do you have the prelink trick installed? Which kernel are you using?
Oceania has always been at war with Eastasia.
I've been doing some Safari reading since the Slashdot review a couple of weeks ago, and one book I'm reading is Solaris Internals: Core Kernel Components. One very interesting feature of Solaris is the concept of "scheduler classes". The Solaris kernel is fully pre-emptive and multithreaded. Threads are executed as one of four classes:
Timeshare scheduling class (the default) attempts to evenly share process time across threads.
Interactive class is used for improving performance with windowing applications.
System class is used by the kernel.
Real Time class is used for fixed priority, fixed quantum scheduling.
Now I'm no kernel hacker and couldn't explain the hardcore details if pressed, but this sounds pretty clever and Solaris is a very neat operating system. These scheduler classes are loaded as modules which strongly suggests that they can be plugged in and replaced if necessary.
In 2.4 there were patches that provided realtime and low latency scheduling for the kernel. The new O(1) scheduler is getting positive vibes from the developers from what I've read, but does it cover these bases or are patches still required? In other words, does Linux now scale from realtime embedded to low latency desktop to [whatever NUMA systems require]?
Having just applied the combo patch in question, I can attest to it's incredible improvement. My mouse pointer NEVER lags anymore even while make -j5 bzImage and bzip2'ing a large directory all while playing .ogg files.
This is wonderful. Kudo's and a round of whatever ya drink to the kernel crew.
"The clay can become a bear, but not while it lays cold and wet on the riverbank." -Orson Scott Card, Children of the m
"Of course, the reason Linux users actually want this feature is so that they can play their pirated MP3s in the background while using X-windows."
You're right about me wanting to listen to music in the background while running X, but fuck you for assuming that all Linux users are pirates.
Not to mantion the fact that this technology has more uses than just smooth playback of mp3's.
Asshole.
Any rogue programs erroneously generating kazillions of I/O events will monopolize the CPU. Mind you, everything's a tradeoff. The OS cannot possible know what the difference between a "good" process under heavy load and a "bad" out of control process generating too many events or is in a tight loop. Only the user/sysadmin can determine that.
Anyway - does anyone know if Ingo's low latency patch + Linus' interactivity patch will be committed to the 2.5 tree?
If you're using top to determine that? Then you're getting an erronious reading. Remember the memory on the card is going to show up as well. Also don't forget process-memory sharing.
Once you installed Executive (http://www.megabaud.fi/~petrin/Executive2.html), which is a replacement for the standard Amiga OS task scheduler, you had terrific multitasking on your Amiga. Executive had a dynamic priority scheduler which boosted interactive apps (that got the focus) and that pushed cpu-hogging apps to lower priorities the longer they were running.
You could choose from a multitude of different scheduling mechanisms, dynamically. And you got a whole bunch of system information tools as a bonus.
Another thing that this will greatly improve on Linux is gaming. Gaming tends to be highly interactive, and lowering the operating system's latency will put an end to those little hiccups Linux games sometimes get.
Latency on Linux is totally going to stomp latency on a Microsoft OS. Can't wait to see the benchmarks on that!
Zeta/aka BeOS (not just another re-package, *new*) YellowTAB but slashdot won't let me post about this wonderus OS on the frontpage (or any where), such good guys ..
yea I will stick with the convicted monopolist who robs me blind.........
Thanks, but have done already, and its as optimal as it gets. I've gotten rid of all the excess junk (e.g. Office startup stuff), and I've turned off all unnecessary services. Unfortunately, if you run Windows, you need to have crap like anti-viruses installed, and some of the other software that I'm also required to run at work bogs down the machine.
Or one could simply first purchase a CD, then hereafter the main server could send diffs for the packages that need upgrading. Consume less bandwith and space that way.
Emphasis on chatty. X is accelerated, it's just overly bandwidth hungry among other things.
If it's not ready for input it shouldn't show the start button as clickable.
Indeed!
Which one of the ten or so architectures that Linux supports should that one official kernel binary be compiled for? i386, because it's what you use? PowerPC, because it's what I use? System/390, because IBM is the shiznit? All of them? Jeez, even Debian, which ships for more architectures than any other distribution, has trouble with that. (Part of why Debian is slow on releases is everything has to compile on PA-RISC and m68k, you know. Debian is not a PC operating system.)
Which compatibility options should be set? Do you want to run that kernel on a broken Toshiba laptop that needs a special flavor of APM to keep from locking up at startup? Do you have a PS/2 with MCA cards, and need that enabled, while nobody else uses it? (Why should the kernel I use suffer from your bloat?) Do you have some funky flavor of Alpha motherboard? Or perhaps do you have the latest Dell high-end server and need a couple of extra patches to keep your system from crashing on the nonstandard motherboard?
In short: If you want a kernel compiled for the particular weirdities of your hardware, get your OEM to do it, or buy from a VAR that does. Some OEMs already do this -- like Dell, on the workstations and servers they ship with Red Hat installed. (Rumors of Dell "dropping Linux support" are greatly exaggerated. They support it just fine on workstations and servers -- just not desktops, which are made with cheap WinHardware to keep the price down.) Yes, the Dell kernel comes with the nVidia driver already installed, since most Dells have nVidia cards. (Though that is changing -- recently, I've been seeing more Radeons in Dells, which is much easier on the software upgrade path.)
Hardware is weird. Even i386 is a lot less "standard", across the entire product universe, than Microsoft and Intel (and Dell!) would like you to think. And -- unlike Microsoft -- Linux (the kernel project, not some distro) does not abandon old hardware and tell people to spend money on upgrades before they can run the latest release. Because of this, it is essentially impossible to make one kernel that is perfect (or even adequate) for everyone. That is why there are so many options in "make menuconfig", and that is why you should expect to build your own kernel (or pay someone to do so) if you want the most out of your hardware.
I think Windows' problem is that on startup it is trying to start all services at the same time, which leads to a lot of unneccessary disk trashing (clearly the HD is the limiting part during Windows startup). A more reasonable procedure would be to start things in sequence. Unfortuantely, in Windows it's practically impossible to influence the timing of startup.
ha that is one funny comment eh!
Just so long as it isn't like the scheduling related to us by our OS prof, where one of the early time sharing systems gave a bit of a boost to terminals after they pressed the enter key.
:)
This way interactive processes gained a slight boost. Of course, they had to rethink their algorithm as soon as someone figured out that by hitting return a lot they could speed up their programs! Oops
The more you know, the less you understand.
The point i was trying to get at is X11 is not End user friendly by any means. Just because it may be powerfull doesnt make it good however most of the time it makes it difficult. Its difficult to configure (something you SHOULD NOT HAVE TO DO) and if you do try to do it by hand its terribly easy to screw up. In regards to the KDE vs WindowMaker someone commented on, I would have to say thats a case of Bloat Vs Streamlined (or stripped). KDE is easier for average Joe to walk up and use then WindowMaker. Since KDE is slow and bloated its also not worth while for Average Joe to use as his primary OS.
To be a good Desktop OS you need ease of use, at this moment X11 doesnt fit that description. Just because you may think Microsoft or even Apple is evil doesnt mean you shouldnt take design tips from them.
A possible solution would be a new X11 Compatable system for those who want it and a solid fast easy to use UI for it for those who dont. I also think we need a Unified UI Toolkit so everything across applications is the same.
Those background processes should have to run at low priority, and yes, perhaps the start bar (explorer) should run at med-high or high priority.
It wasn't linus or any of those people ! This is just what SCO was talking about!! There stealing Unix (Tm) secrets and applying them to the linux kernel!
I'm sure the FBI will prove this with tracing phone calls from IBM's secret headquater to linus and his mery men just before this patch!
did you ever think "all that invisible stuff" is what the taskbar/explorer is depending on? A blocked process can not receive input. Would you be happy if the screen was a 'welcome to windows' screen instead of showing the desktop before you can interact? -- ms just wants to have the appearance of a smaller boot-up to desktop time. X does this to me ALL the time under heavy system load when the vm is swapping in/out pages and my hd sounds like it's making popcorn (i have to use several java apps -- yeah, i know). yeah you could 'renice' X to -10 but that's kind of a work-around and i don't know if that's a safe thing to do, IMO. saying 'something must happen' is not much of a thought-out design goal, IMHO. just my $0.02.
why run from Vincenzo?
Patches were available about 4 years ago that did exactly the same thing. But since neither Linus and Ingo made them, they did not get merged.
Ah, for the times that I was running BeOS on my desktop...
Now there was an OS that rocked. Really pretty, zero-configuration, a usability expert's dream-come-true, and super-fast. It booted up in less than half a minute on the last system I ran it on (including auto-detection of hardware, which it did every time it booted), and it's interactive performance was unparallelled.
Why did we let them kill it? It sooo kicked ass. Now I need to run this ugly and slow "linux" thing just to get me a desktop unix on PC hardware.
Mmmmm, kind of. The only thing there is that the packages are binaries, and often a whole load of contents change. And you can't (sensibly) patch binaries. Well, you can but you shouldn't.
Doh ! I thought M$ was dying.
SCO will probally decide they own this to.
- Selecting the text you want to copy with the
mouse left button.
- Either:
-
Clicking in the destination window position with the left button to get focus and position the pasting point.
- Either:
Now, yes, Windows treats selection of text as simply a highlight function and not a copy, but 99% of the time when you've selected text, you want it copied into the clipboard. X Windows does this automatically and is the correct GUI behaviour - Windows has its default wrong.- Letting go of the mouse and pressing CTRL-C (some users might be able to hold onto the mouse with one hand and use the other to CTRL-C, but most won't) or
- Going to the Edit -> Copy menu item and
choosing that.
[Hint for those who need a clue stick: This is horrible GUI design]- Letting go of the mouse and pressing CTRL-V or
- Going to the Edit -> Paste menu item and choosing that.
[Hint 2 - It's still horrible GUI design]Now you've got the text in the clipboard, what do you want to do with it 99% of the time ? Yep, paste it into a window somewhere. Yet again, X does this by default when you press the middle mouse button...Windows ? Sorry, the default is to ignore the middle mouse button and you have to combo a left-click with either a menu selection or a key-press - BZZZT! It's the wrong default again.
Basically, X Windows has its defaults correct and Windows has them wrong - it's twice as fast for a user to cut'n'paste (which is all users do with selections 99.99% of the time) in X Windows than Windows.
I just might drop Linux.
Network transparency kicks some royal arse that the best efforts of VNC and Terminal Server can't compare to. I can just hop over to another box and run its software. It's near realtime on 100mb/s, and I can't wait to try it on 1gb/s ethernet.
Thankfully Linux is a kernel, not a commercial os and X will live on for at least a few more decades. Does anyone know of a compression scheme for X that would make internet use faster?
You can't judge a book by the way it wears its hair.
scripsit yomegaman:
Why the hell would I want it to? That's possibly the most obnoxious thing I can imagine. If I copy text from, say, a Web page, to an OpenOffice doc, I want that text to appear in the font face, style, and size of the current context, not what I copied from. Why on earth would I want it to be in the old face/style/size, just so I can waste time fixing it to match the rest of the text in my document?
In principio creauit Linus Linucem.
The stuttering and jittering in GUIs has been a sore spot for me for years that has not improved despite the fact that my PC today is hugely more powerful that the one I had in 1995. It is niggling little points like these that bother 999,000,000 of the world's billion computer users. I am surprised that M$ hasn't addressed this issue sooner. After all, it is the fact that M$ _has_ prioritized these superficial issues over the Very Important and Very Clever issues prioritized by Linux that its OSs are on all those hundreds of millions of user's desktops. Food for thought.
Yeah, X11's method works great.
Until you have to "Cut".
Until you want to Paste-to-replace a text selection. (this is pretty much a deal-breaker for me)
Until you want to copy something other than text.
Other than that it's fine!
Windows has had priority boosting for foreground processes since Windows NT 3.51 (at least). There is a slider in system properties that lets you enable how much.
By default it is set to maximum for Workstation editions, and off for Server editions. New technology it ain't.
"XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
Are you saying RTFM? Oh the irony.
Thats the problem, your feature is my misfeature.
:)
For instance, I like it that a non-topmost window can have the keyboard focus. I like the click-drag to copy and click to paste. Those are features not defects.
What you're claiming is tantemount to ''Someone wants their desktop to have a pastel blue color that commercial offerings have had for years, and they are told to go look for an abandoned sourceforge page somewhere''
Desktop design no more revolves around my choice in background color than it revolves around your choice of copy&paste interface. Dare I ask you how easily I could find a program that gives the X semantics above to all windows programs? You'll probably tell me to look at some abandonded CNET download page somewhere. (HOW DARE YOU?!?!?!)
Just because someone somewhere in the past did it differently and you liked that style doesn't make it superior, or inferior.
This example perfectly illustrates what linus was having problems with when Ingo suggested that users just nice X up. It hides the problem, but doesn't actually fix it. Windows XP plays tricks on users to make them think that it's faster than Win2K or even NT. It loads the GUI earlier than the previous OSes, but there is still a lot of shit happening on the system in the background when you first get to the desktop (services starting, background apps loading, etc...). This is what causes the delay in response to clicking on the Start button. To prove this to a friend with Linux, I set X to start up a lot earlier and disabled a few of the non-critical services in the init scripts and compiled a custom kernel. Total APPARENT boot time from "Joe User's" perspective was about 30 seconds. I have to wonder if it would be a hell of a lot faster with this new patch. The thing is that these changes DON'T actually make the system faster at all. It's pretty much the same as before, but the end-user experience is that it APPEARS faster. That seems to be what a lot of people miss in this discussion.
Un-news
..wish I could self mod myself to zero with this lame question. Asking because I don't know, and it's probably not possible. But do they make or has anyone made, a mobo with a dual processor for dual processor tasks, then a single processor someplace else on the board, for doing single processor worthy tasks? I would think that might be nifty if it was possible and the software could take advantage of it, especially with multitasking.
Again, I know, most likely lame.
Actually, there is a hierarchy to the way Windows starts up its services because there are dependencies. And, you can change the order of startup to some extent if you know how to work in the registry.
Un-news
This is to add to their increasingly absurd claims that "Windows (95,98,Me,XP) boots in (60,40,20,10) seconds!" Yet another marketing-ploy-turned-lousy-programming by the great people in Redmond.
What they haven't (yet) realized is that most people don't want to have to turn off their computers ever. They are just forced to reboot all the time by crappy "features" such as these.
"I assumed blithely that there were no elves out there in the darkness"
You have just hit on a few things:
:P
1) The taskbar is probably the most broken thing about Windows XP. I have tons of responsiveness problems with it, and moving things around is pretty much completely broken.
2) Windows 2000/XP memory management just plain sucks.
There's a few things you can do:
First of all, turn off system hibernation. Most people never use this, and not only does this free up hard drive space equal to 1.5 times the amount of RAM you have, it cuts down on a lot of unneeded disk chatter.
Second, if you have 512MB RAM or more, I highly recommend turning off the swap file in Windows. Yes, that's right. Even if you are nowhere near 100% RAM utilisation, Windows absolutely insists on paging things out to swap. After turning off the swap file (and hibernation) on my Athlon XP 2400+/512 MB Dual-Channel DDR machine, the XP interface is easily twice as responsive.
KDE is still better, tho. Imagine that... an X-windows based interface faster than Windows Explorer...
The roots of education are bitter, but the fruit is sweet.
--Aristotle
kind of a lame comment - considering the majority of visitors to slashdot are win doze users....
Sure. Now use any method at all to copy between OpenOffice and Mozilla. Let me know when you figure that one out without using a third app. No, X11 cut and paste *is* broken (or rather, there is no standard) and it really ought to get fixed.
What they haven't (yet) realized is that most people don't want to have to turn off their computers ever. They are just forced to reboot all the time by crappy "features" such as these.
Completely wrong. Most people only care that their computers work reliably for up to 8 hours at a time, and shut them off when they're not in use.
Most people don't 24x7 uptime, and wouldn't want it anyway: computers use quite a bit of power, and power costs money.
Indeed, most people I know turn their computers off when not in use.
Mooniacs for iOS and Android
This is not the problem you think it is. The problem you are seeing is not because background processes are stealing CPU, it's because the shell is spawning new processes, and is blocked until the spawn is completed (synchronous process execution).
It does this so that it can notify you if a program in it's startup process fails to start for whatever reason.
If you have no programs being started by the shell, the shell becomes useable almost instantly when it appears (this includes the Run* keys in the registry, not just the Startup folders), even though background services are still starting.
This is somewhat exacerbated by some anti-virus programs which somehow block input until anti-virus is fully running.
If you need web hosting, you could do worse than here
What's being described here is called a priority inversion, where a high-priority task makes a request of some service running at a lower priority and gets hung up behind it.
Which is wrong. Did you read the article?
Priority inversion is, as you explained yourself, about a high priority task effectively getting a low priority by being dependend and therefore waiting on a low priority task.
The article is about tasks at the same priority[1]. The task scheduler distinguishes between interactive and non-interactive tasks in order to improve latency where the user cares.
Beforehand, the behaviour failed on a slow, loaded system to recognize the X server as interactive, because then X looks like a CPU-hog[2]. That resulted in freezes of several seconds[3]. Simply speaking, the patch solves this by passing some interactivity points between processes.
You could have easily seen that this is not about priority inversion as one of the suggested work-arounds was to simply increase the niceness of the X process (which wouldn't help, if priority inversion had been the problem).
Regarding QNX: As good as it is as a RTOS, as bad it fails to do something sensible when you have too much processes at the same priority. Having a reasonably working system presumes that each task is assigned an appropriate priority. Of course, the people at QNX did a decent job on the default priorities.
[1] It may have an impact on tasks of different priority. I did not care to investigate that aspect, because that is of minor importance to what the patch is about.
[2] And for the scheduler, interactivity is determined by a process going to sleep often (by waiting for interaction).
[3] For non-interactive processes it is beneficial to do them in larger hunks, i.e. let 5 seconds other processes do their work, then work 5 seconds, instead of having 0.01 second slices and do the switching all the time.
Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.
How do you copy URLs into a browser? I usually end up doing something like this:
1) Select URL
2) Switch to browser window
3) Click on location bar in browser, being careful not to select anything
4) Hold down Delete for a while
5) Hold down Backspace for a while
6) Middle click in the location bar
Which takes forever. I suppose I could:
1) Switch to browser window
2) Select location bar contents
3) Press delete
4) Switch back to source window
5) Select url
6) Switch back to browser window
7) Middle click in location bar
Which is even more steps, but there's no "hold down delete and wait" step, which speeds things up a bit. But still, the other way:
1) Select URL
2) CTRL+C
3) Switch to browser window
4) Select location bar contents
5) CTRL+V
Make is very easy. I still can't figure out how to do this in a reasonable amount of time in Linux (assuming the apps are broken. Like, say, Evolution->Galeon)
Erik
"As an avid Microsoft fan..."
h tm
You wouldn't be the person who wrote this article would you? Running a web-server on Windows 3.x, playing MP3s in Windows 3.x, sharing files on Windows 3.x... etc. So many screen-shots!
http://www.froggy.com.au/mike.skinner/16bitwin.
Why not? People do it all the time on other OSes.
Games on Windows for one, come to mind.
Besides with Distro's like Gentoo. Just keep the source disk around, and everytime one needs to upgrade, insert disk (or at least an image of one). Now yes one will have to draw a line at which one sends the whole thing vs a diff (75%?). It's that or wait till everyone has Broadband.
some users might be able to hold onto the mouse with one hand and use the other to CTRL-C, but most won't
OK, I admit that I've developed a slightly condescending view towards Windows users over the years, but I think you're taking it a tad far.
My 'C' key is 3 inches from my 'ctrl' key. Only small infants or the physically diasbled will have a problem doing Ctrl-C in one hand.
While we're on it, I think that the ability to "replace selection with clipboard contents" is a nice feature that windows (and KDE) gets right.
Windows 3.11 does too!
h tm
In the Control Panel, Under Enhanced, you can adjust the Scheduling. Windows in Foreground defaults to 100ms and Windows in Background defaults to 50ms. The minimum timeslice can be altered from the default 20ms too. The "Exclusive in Foreground" checkbox can also be checked here.
http://www.froggy.com.au/mike.skinner/16bitwin.
Ah, you don't patch the binary, though (not usually). You just replace the whole file.
When you treat tasks differently, you're prioritizing them. All the priority information isn't necessarily encoded into the UNIX-type priority number. This is a nomenclature distinction between "priority" in the formal sense of "who gets the (a) CPU", vs. the classical UNIX representation of priority numbers.
or use X apps that don't "lob" pixmaps over the stream.
Obliquewindowmoving works fine, that's handled on the local end of things.
I'm playing xbill over my lan now on wifi(12mb/s), well written X apps work fine.
You can't judge a book by the way it wears its hair.
So, when will this be finalized?
Feature freeze was supposed to be back at the end of October. When can we have final bits?
(Before you ask, yes, I am more than capable of running a development kernel. But I'm old enough now to have other things to do with my life. I need the tested goods.)
Can we have 2.6? Soon, please?
I had a professor that related a trick for elevating the priority of programs on some older multi-user systems. [I don't know if any existing systems really work this way any more.]
:)
The process scheduler on these systems would prioritize a process into the background (batch) if it constantly used up it's time slices. BUT, if a process looked interactive it would be given a higher priority than normal (this was necessary to impress the users). The "looks interactive" criteria could be met by printing to the console occasionally.
He said all you needed was the equivalent of 'print ".\n";' somewhere in the processing loop and your compute intensive program would finish long before all the other guys back in background priority! Poor other guys.
This kind of loop-hole may be something people wish to keep mindful when dealing with scheduler patches. Reading the list conversation, I'm glad that it looks like Linus has given it some thought.
Why not? People [patch binary executable files] all the time on other OSes. Games on Windows for one, come to mind.
No. As Gordonjcp mentioned they replace binaries, for precisely the reason you state next:
Now yes one will have to draw a line at which one sends the whole thing vs a diff (75%?).
A fellow often sees such an effect from a whole-program compiler optimization or from re-engineering to fix bugs, especially when the compiler uses a different register allocation or when the developer has added or removed a field or method from a class.
It's that or wait till everyone has Broadband.
I would rather not sit still for over seven years while the local cable monopolies and the local telephone monopolies get their collective poop together and push the price of broadband down to where dial-up is today. I know people who are still on 33.6 because they are banned from working and have parents too poor to fit a modem into their disposable income.
Will I retire or break 10K?
Maybe it's just me, but I *like* the X selection system. A windows-bound colleague of mine the other day exclaimed in jealousy when she saw me cutting and pasting between editors... Windows is just so damn clumsy.
To answer your question, I
1) Click on the browser desktop-icon to open a browser window
2) Highlight my URL with the 1st mouse button
3) Position my mouse over the URL bar, and click the middle button
4) There is no (4)
Simple, yes ?
Simon
Physicists get Hadrons!
This is a common misconception. You're confusing the clipboard with the primary selection. Cut and paste works just like Windows', and is in fact more powerful.
X's clipboard is generally handled with interprocess communication, not buffers. If you select something, the application claims the primary selection. Middle-clicking somewhere else will ask the application to send the selection.
Copy and Paste use the clipboard, which is entirely separate. Edit/Copy in Mozilla claims the clipboard, setting its value to the current selection. As you have to select the text first, this must overwrite the primary selection, but selecting something else will change the selection without affecting the clipboard. Try selecting something in Mozilla, ^C, then select something else. Middle-click and ^V will enter different things. If you ignore the primary selection, this is exactly the same as Windows, but the ability to select and paste short items quickly using only the selection can be very useful - especially as it doesn't affect the clipboard.
Unfortunately it's impossible to use the clipboard in xterm; you have to use the selection. You can cut and paste between most other applications, though. Another problem was in an old implementation of (IIRC) Qt, which overwrote the clipboard whenever the primary selection changed. This is fixed in the latest version.
Uf you're not familiar yet, see PicoGUI for an insight how they do things differently.
Yeah? Ninnle sucks!
Hooty Linux rules!
Ugh. I don't buy it.
To put it in perspective, lots of Unix has a big organization problem. X is just emblematic. It's "lower-level" APIs are a big stinking mess. Ever tried to program against it without a super-high-level bit of middleware? Then let's talk about how nice it is. If you're not up on this, try reading JWZ's rants on it (many written as he was porting Netscape)? X is a 4 foot high sandwich of crap, layer after layer between you and the display, full of massive, sucking complexity, the bugs, inefficiency... even during this supposedly wonderful "network transparent" windowing this foul stew shows its colors, as no combination of two applications or X servers quite looks the same. It's a verifiability nightmare, too, of course (and for instance, disabling X's many attempts to listen and talk on the network are one of the first things you do to secure a machine properly - and for real security, you avoid installing X altogether).
The API design itself is atrocious. The much-touted "flexibility" is really code for laziness - it was a lot of work to do a proper GUI, so no one did it. The mishmash of X server extensions, window managers, font handling systems, etc. that's been cobbled together has led to a nightmare for both programers and users, as any given application doesn't just require "X", but a complex recipe of libraries and versions, and an end-user experience where no two applications look or act the same... or even remotely similar... Where cutting and pasting between windows is a pipe dream, and young geniuses still struggle to configure fonts properly for linux distributors.
Or to just put it plainly, as my friend (who from time to time would write X windows gadgets) would say, it's only about twice as hard as managing the video memory yourself.
"And thank god it's not all standardized, or we'd never have had all those wonderful experiments with different ways to do a GUI that never actually happened." In practice, no system is immune from its initial design choices, and it's been an endless series of awful MacOS knockoffs, multi-button madness, color-pallete spinning goofiness. Is X11 a "GUI experimenters toolbench?" Then I think it's time for something a little more grounded in everyday realities of computer use.
I'm not even warmed up yet. I mean, X is still peppering the filesystem with a hedge-maze of exotically formatted text files describing the hex colors of every pixel of the trim of every window for a variety of appliations and classes in a complex inheritance and assignment scheme that few X developers even understand. Check it out, your XDefaults are "human readable."
Shall we even discuss its security model?
Modern Linux has tried to make its peace with X through wrappers, and we write against Tcl/Tk, Qt, inside the Gnome or KDE framework, and yet still the focus groups come back crying... we try to blame overfamiliarity with windows, but the problems are bigger... all of Unix (and of course Linux) suffers from the same class of problems that X does; as, for instance, an application needs to prompt you to insert a series of CD's, but there is no "single, authoritiative, standard" place to go find out what CD drives are installed on the computer, and what their device names are (yes, we know what they _usually_ are), and finding out if any of the CDs are already inserted involves parsing the text output of a proc file or a mount command, and so on and so forth... And all of this is being done by a messy bash script... so it's no surprise this functionatlity is broken even in, for instance, RedHat's own v8 package manager... I hope you can grasp the metaphor.
It's a mess. Patches won't clean it up. Frankly, it's time we took the whole GUI back to the drawing board. But even if MacOS is the end-all/be-all, we can do it a hell of a lot better than we do in X.
Following are some choice quotes from Don Hopkins' essay:
X-Windows is the Iran-Contra of graphical user interfaces: a tragedy of political compromises, entangled alliances, marketing hype, and just plain greed. X-Windows is to memory as Ronald Reagan was to money. Years of "Voodoo Ergonomics" have resulted in an unprecedented memory deficit of gargantuan proportions. Divisive dependencies, distributed deadlocks, and partisan protocols have tightened gridlocks, aggravated race conditions, and promulgated double standards.
X has had its share of $5,000 toilet seats -- like Sun's Open Look clock tool, which gobbles up 1.4 megabytes of real memory! If you sacrificed all the RAM from 22 Commodore 64s to clock tool, it still wouldn't have enough to tell you the time. Even the vanilla X11R4 "xclock" utility consumed 656K to run. And X's memory usage is increasing.
...
X was designed to run three programs: xterm, xload, and xclock. (The idea of a window manager was added as an afterthought, and it shows.) For the first few years of its development at MIT, these were, in fact, the only programs that ran under the window system. Notice that none of these program have any semblance of a graphical user interface (except xclock), only one of these programs implements anything in the way of cut-and-paste (and then, only a single data type is supported), and none of them requires a particularly sophisticated approach to color management. Is it any wonder, then, that these are all areas in which modern X falls down?
...
As a result, one of the most amazing pieces of literature to come out of the X Consortium is the "Inter Client Communication Conventions Manual," more fondly known as the "ICCCM", "Ice Cubed," or "I39L" (short for "I, 39 letters, L"). It describes protocols that X clients ust use to communicate with each other via the X server, including diverse topics like window management, selections, keyboard and colormap focus, and session management. In short, it tries to cover everything the X designers forgot and tries to fix everything they got wrong. But it was too late -- by the time ICCCM was published, people were already writing window managers and toolkits, so each new version of the ICCCM was forced to bend over backwards to be backward compatible with the mistakes of the past.
The ICCCM is unbelievably dense, it must be followed to the last letter, and it still doesn't work. ICCCM compliance is one of the most complex ordeals of implementing X toolkits, window managers, and even simple applications. It's so difficult, that many of the benefits just aren't worth the hassle of compliance. And when one program doesn't comply, it screws up other programs. This is the reason cut-and-paste never works properly with X (unless you are cutting and pasting straight ASCII text), drag-and-drop locks up the system, colormaps flash wildly and are never installed at the right time, keyboard focus lags behind the cursor, keys go to the wrong window, and deleting a popup window can quit the whole application. If you want to write an interoperable ICCCM compliant application, you have to crossbar test it with every other application, and with all possible window managers, and then plead with the vendors to fix their problems in the next release.
In summary, ICCCM is a technological disaster: a toxic waste dump of broken protocols, backward compatibility nightmares, complex nonsolutions to obsolete nonproblems, a twisted mass of scabs and scar tissue intended to cover up the moral and intellectual depravity of the industry's standard naked emperor.
Using these toolkits is like trying to make a bookshelf out of mashed potatoes.
- Jamie Zawinski
...
The fundamental problem with X's notion of client/server is that the proper division of labor between the client and the server can only be decided on an application-by-application basis. Some applications (like a flight simulator) require that all mouse movement be sent to the application. Others need only mouse clicks. Still others need a sophisticated combination of the two, depending on the program's state or the region of the screen where the mouse happens to be. Some programs need to update meters or widgets on the screen every second. Other programs just want to display clocks; the server could just as well do the updating, provided that there was some way to tell it to do so.
...
.Xdefaults", but if he happens to have copied Fred's .xsession, he does an xrdb .xresources, so .Xdefaults never gets read. Susie either doesn't xrdb, or was told by someone once to xrdb .Xdefaults. She wonders why when she edits .Xdefaults, the changes don't happen until she 'logs out', since she never reran xrdb to reload the resources. Oh, and when she uses the NCD from home, things act `different', and she doesn't know why. "It's just different sometimes."
.xresources (or was it a file that was #included in .xresources) of the form *fucked*fontList: 10x22, which he copied from Steve who quit last year, and that of course that resources is 'more specific' than his, whatever the fuck that means, so it takes precedence. Sorry, guy. He can't even remember what application that resource was supposed to change anymore. Too bad.
What this means is that the smarter-than-the-average-bear user who actually managed to figure out that
snot.fucked.stupid.widget.fontList: micro
is the resource to change the font in his snot application, could be unable to figure out where to put it. Suzie sitting in the next cubicle will tell him, "just put it in your
Joe Smartass has figured out that XAPPLRESDIR is the way to go, as it allows him to have separate files for each application. But he doesn't know what the class name for this thing is. He knows his copy of the executable is called snot, but when he adds a file Snot or XSnot or Xsnot, nothing happens. He has a man page which forgot to mention the application class name, and always describes resources starting with '*', which is no help. He asks Gardner, who fires up emacs on the executable, and searches for (case insensitve) snot, and finds a few SNot strings, and suggests that. It works, hooray. He figures he can even use SNot*fontList: micro to change all the fonts in the application, but finds that a few widgets don't get that font for some reason. Someone points out that he has a line in his
...
On the whole, X extensions are a failure. The notable exception that proves the rule is the Shaped Window extension, which was specifically designed to implement round clocks and eyeballs. But most application writers just don't bother using proprietarty extensions like Display PostScript, because X terminals and MIT servers don't support them. Many find it too much of a hassle to use more ubiquitous extensions like shared memory, double buffering, or splines: they still don't work in many cases, so you have to be prepared to do without them. If you really don't need the extension, then why complicate your code with the special cases? And most applications that do use extensions just assume they're supported and bomb if they're not.
Want to Know How to Cheat the GPL? Read On!
http://www.ubergeek.tv/switchlinux/
The roots of education are bitter, but the fruit is sweet.
--Aristotle
Excellent observation. As KDE has gotten snappier, I've noticed that it does this less frequently than Windows. Things take a noticeably longer to load, but once they are loaded they are generally more responsive to user input. I think this ends up being a big usability issue - because for those less familiar with the what the button is supposed to do, its meaning is made unclear when it doesn't respond. I.e., am I _supposed_ to click 5 times to make something happen?
Your scenario - which, by the way, I go through on a regular basis with XP (Home and Pro) - makes me think of a question about the GUI. You mention clicking the start button a million times. Shouldn't explorer (or MFC) be catching some of these extra clicks, too, and avoiding sending them to the graphics subsystem to force 10^4 repaints? Or could this perhaps be done at the level of the graphics toolkit, where certain widgets could be marked to catch only n events until a response is given?
Renice X to -10 is standard (even recommended somewhere in the X documentation), helps a lot, and is done by default in *desktop-oriented* distros like Mandrake.
I wish people would stop installing Redhat on the desktop - it really sucks compared to desktop-oriented distros.
You could have easily seen that this is not about priority inversion as one of the suggested work-arounds was to simply increase the niceness of the X process (which wouldn't help, if priority inversion had been the problem).
You're completely wrong.
Do you know anything about X11? The client is a seperate process. It waits on the X server to do its drawing and get its input. There's the problem - the X server is not keeping up with the client. Nicing up a process to make it more responsive is a classic symptom of this. Priority inversion applies perfectly.
somebody said "Maybee this will finally blur the line between OS's enough to get more people to switch over."
um no - this will further widen the gap between the OSes.
Seriously, I switched to linux back in 1994, and while microsoft has made significant progress, ms windows still has quite a way to go before I would consider using it again. I see windows 2000 and xp every day at work, and while they have taken some baby steps towards linux-like reliability and performance, ms windows is just not all there yet - they have cute down pat, but cute only goes so far.
I find the performance of a modern linux desktop and a modern ms windows desktop to be in the same league, which is rather impressive since it's a comparison between the full client/server, network-transparent X window system, and a simple, single-user, local pc GUI.
Unless the user wants to spend half their waking days learning (or dealing with) the intricacies and bugs of bad desktop systems, definitely go Xandros.
For starters, Xandros is Debian based which does give the advantages that you mention in regards to stability and ease of upgrade. However, much more significantly Xandros takes care of all the manual work that you would need to put in (unless you want to go under the hood which it will let you do). Reasons to go Xandros:
1) Install. Hands down the best. Again read the reviews, but it has phenomenal hardware detection, handles all the partioning (including NTFS), allows for customization if you want it, and has a huge success rate.
2) Refinement. The engineers at Xandros touched pretty much every package on the system, fixing bugs in the open source versions of KDE and all the apps they package so that everything pretty much works like it should. They also did tight integration between the kernel, debian, and the desktop so that when you do something like stick in a usb flash memory, it pops right up in the file manager.
3) Compatibility. If you want to browse or run on windows networks, Xandros auto-configures samba for you (in case you haven't gotten that Phd yet). The delux version ($99) also comes with Code Weavers CrossOver so that you can run MS Office (still the best unfortunately), Lotus, and soon Photoshop.
4) Leadership. Not only is xandros the best desktop now, but they are working on very cool stuff and will likely extend their lead. I would strong recommend going with the technology leader here rather than dealing with enduring pain and lack of functionality.
Check out the reviews (posted at www.xandros.com) or do a search on any review done on it. It is the hands down winner. Make life easy for yourself...
Hunger is the best sauce.
The users I know would trade stability and $10/mo for instant access, so they leave their computers on all the time and they crash once a week. Maybe the users you refer to are more cost-conscious, or maybe they just want stability and would trade the two minutes it takes to boot and log in for a reliable system.
All I'm saying is that, given the opportunity, anyone would want both reliability and instant-access for zero cost. M$ knows this, and they know their products are not stable, so they market the (fictional) "fast boot times" of their OS's.
"I assumed blithely that there were no elves out there in the darkness"
Well, gnome2 and kde3 have made a standard to use a second buffer in X.
This means that if you mark anything and use ctrl+c, you can use ctrl+v to paste the same thing.
Just as in windows. Problem solved.
Off cause not _all_ apps is using this feature (even though it is an X standard). But not all apps in windows does this either (think Java).
The thing that is still missing is copying of content other than text. Images, formatting and so on.
I don't understand why they haven't implemented mimetypes in copying in X.
Heck all they need is an escape character, so people could define what to send.
Well, I'm sure it will come in a not too distant future.
But the keyboard copying problem, is soon a thing of the past.People who comes from windows, will not even notice that the mouse also can paste.
In Mozilla under linux, all I have to do is
1)Select URL
2)Move mouse into browser window (I use focus follows mouse)
3)Middle click in any blank space of the webpage
Then Mozilla loads the webpage.
Try the equivalent of "the other way" -- use
some keyboard accelerators.
1) Select URL
2) Click somewhere in location bar, not highlighting anything.
3) Ctrl-A
4) Ctrl-K
5) Middle-click in location bar, press enter
Or, if you are using Mozilla:
1) Select URL
2) Middle click somewhere in the browser pane
3) There is no 3
(You might have to enable this under preferences
somewhere -- i've had it this way for so long i've forgotten how)
Seems pretty fast to me.
X-Free my arse...X-Mess is more like it. You can rationalize it all you want, but the simple fact is, X-Free is a big giant mess.
Sure, network transparency, being able to run X remotely from another computer, is great, IF you want to do that. Most people don't. I have one computer at my home -- no need to ever use the GUI from remote. If I want to access it, I'll be accessing files and transferring them to a computer at work -- whcih is what ssh is for.
Because of the big mess that X-Free is, I set up a pretty minimal desktop GUI, which is fine with me. I've always hated candy-desktop appearances, like OS X. Me, I stick with WindowMaker (in combo w/ PWM), Xfce for my desktop, and no anti-aliasing along with plain themes and hide-away stuff. Also, I don't -- not on my Debian GNU/Linux OS, or Windows (w/c I use for games) -- make it redraw the windows as I move them. What a waste. I want instantaneous responses to my actions, so I get rid of all animations and crap like that.
So, my GUI's run pretty smoothly (except when I'm using Kazaa on Windows). However, that's only because of my minimalism, and doesn't justify or excuse X's sloppiness and enormous bloat. (I'm not going to complain about MS' bloat b/c MS never bothers to address real problems and I'm never upgrading WinME...I have all the games I want, and I think thatt future games coming out I'll want [like Tomb Raider 6] will support Win9x for a long long time).
Of course, there's other disgusting problems in X, like not being able to copy and paste between windows, and the atrocious lack of standards for that and other things. I don't think we should throw out X -- just massive rehaul to get rid of this slop, not bandaid-treatments. Also, make a version of it for normal home users, who won't be sharing GUI's between multiple PC's.
social sciences can never use experience to verify their statemen
it is a 4 processor board with 3 processors in it.
You are correct. This difference was, why I used "niceness" vs. "priority". Niceness being the priority the user chooses, while priority being the one the system calculates.
That said, the article is still talking about tasks at the same priority (in your sense). Is is not about how much time of a minute a task gets (which is priority), but in how much slices the tasks gets it (which influences latency).
It may be that the "interactive points", which were tweaked, also influence the priority, but the part worth an article was that getting the latency right was much improved.
Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.
Smithers went and rooted you up the arse you dirty homo.
Could someone wake me up plz,
is Linux NOW really focusing on Usability
for NORMAL USER ?!
'Normal users' can't "just increase the priority"
^^^^^^^^^^^^^^
Ya I'm sure my grandma will open an xterm,
su root and type nice -prio xwhatever,
every now and then, I mean this is so intuitive,
see run 'ps -uax' find those little pid,
figure out which one is the MESSY one
and renice it, repeat.
Glad to see Linus in our USABILITY camp.
If more Linux Hacker could wake up and put more USABILITY in their damn apps, maybe we could
finally kill Windoze once for all.
- A usability hacker =P
Oh wait. You can't.
If the user isn't at the box banging away, the "interactive" processes are blocked in a poll() or read() call and don't do anything except sleep.
I recently ran Tuxracer for the first time. This is a dual-boot Win98/RH7.3 machine.
I saw much higher FPS numbers when running Tuxracer in Linux than in Win98 -- the max fps under Win98 was about 60, while under Linux, it was 140!
Why the hell did you mod her/him down to 'flaimbait' ? Surely you cannot compare the GUI's provided by Microsoft and Apple to the Linux WM's/desktops. It's just not the same. Sure, the FS/OS community may in time catch up, but right now it's lagging begind.
... What's wrong with us anyway ? Are we so blinded by the satisfaction derived from the use of a *nix platform that we forget that the vast majority of users simply doesn't care about things like that ? And if that's the case, does it affect the development of better desktops for the 'ignorant masses' ?
... o O (why does that sound familiar ... why does that sound familiar ...)
And its for good reason : FS/OS WM/desktop programmers are just that : programmers. Not psychologists, not qualified GUI designers but just programmers (and pretty good at what they do, if I might add). Big corporations spend millions on psychology research etc. in order to create the best possible environment for _amateurs_. You and I may be happy may be utterly happy with the command line, or with recompiling KDE (with the appropriate CFLAGS etc) but most people ARE NOT (quite a few billion of them). They just don't care.
Why can't you understand it ? When my brother asked me to build a system for him, I build a Mandrake Linux box. That was a mistake. My brother hates computers, he only needs them for a few things : Word processing, movies, mp3's, internet surfing, gaming and using some local specialized financial software package. Linux just didn't do the trick for him. Win98/OpenOffice/BSplayer/Winamp/Mozilla worked perfectly on the other hand. Sure it crashes. Sure it's 'proprietary'. Sure it's not as efficient. But the bottomline is : does your everyday oblivious user really gives a fuck ? No. Plain and simple.
And NO, cut'n'paste doesn't always work great. (Try cut'n'pasting from some older apps like xfig to gedit or OpenOffice Word or whatever).
I've been a happy Linux user since late 1995. Sometime during 1996 I was able to ditch the Windows platform altogether. And, although I'm in the computer buisness for 20 years or so, these have been the happiest 8 years of my life (as far as computing is concerned). That's because I _love_ the commandline. I've used various WMs and desktops (olvwm, then AfterStep, currently Gnome). But I find my self ctrl-meta-F-ing as soon as the system boots up (unless I have to use Mozilla, or OpenOffice or do some gtk+ coding/testing). So the Linux platform is just PERFECT for me. I can not explain to you how happy I was when Linux first booted in my brand new P90. It almost brought tears to my eyes, honestly, having a full working system in my puny PC, that was just unbelievable. And I am certain that I will never have to go back to 'p' software ever again. But thats just me. Do you really expect your normal, everyday user to really care about stuff like that ? Are you mad ?
If only the FS/OS community finally realised that
Then again I don't really care. I like by *nix box, I work more efficiently with it. I really don't care whether Linux ever makes it to the desktop market. I really don't care. For I don't care for the desktop in any way. I'm pretty happy with Linux as it is. If any effort is made to improve it I would like to see it directed in other areas and not the desktop. Is OS world domination so important for you people anyway ?
-- "An evil exists that threatens every man, woman, and child of this great nation. We must take steps to ensure our domestic security and protect our homeland." Adolf Hitler 1933
"The Tao of Linux" is a fine piece of work. Wise and funny ... as the Tao of anything should be!
-kgj
Your assesment of X11 cpu usage is untrue (This goes for Windows as well). XAA plugs Xlib calls into a video card's 2D acceleration hardware. If there is a fault here performance wise it is only that X11 primitives can be (by now) too "primitive". Still, now that 4.3 is out everything in the GUI can be passed off to the GPU in some way via DGA, XAA, and XRENDER. Owners of older ATi cards (up to the 8500) can also benefit from DRI without using a propietary driver.
In contrast, Aqua's toolkit api translates into Display PostScript which is rendered to a raster image (perhaps this gets a GPU boost, one would hope), which is then turned into a OpenGL texture (under Jaguar). That texture is then sent to the GPU to be manipulated via GL. Now that might sound neet-o, but barring some old fashioned 2D GPU work with the PostScript to raster image layer, your video hardware under OS X does nothing but move windows around. The rest is plain cpu based integer crunching.
Here's how you can see this for yourself. Open Terminal.app and set it up with 50% transparency on a busy desktop. Grab the title bar and move it around. See how nice that was? It's very smooth and visually pleasing no? Of course it is. That's because GL hardware is working it's magic by moving what it considers a texture to a new part of the screen and then applying it's hardware alpha to render the final desktop. Voila!
Now try something different. Install fink and try to do some actual terminal based work. (NOTE: If things don't go smoothly be sure to harrass the maintainer. He owes you. If things do go well use fink to create and sell cdroms full of free software without crediting the toolmaker . If that went well, sell T-shirts with your logo to believers of the one true path
Select text in Mozilla, go to OpenOffice, middle click. There. That wasn't so hard, was it?
You're completely wrong.
The word completely and the fact that you left out most of my posting (and concentrate on a minor part of it) don't go well together. Yes, my example was wrong (mixed up who was waiting). The other statements still stand.
Do you know anything about X11? The client is a seperate process.
Man, of course. Or else, talking about priority inversion, which is defined to happen between at least two tasks wouldn't make much sense. Opposite question: Did you read the lkml thread the article refers to?
It waits on the X server to do its drawing and get its input. There's the problem - the X server is not keeping up with the client. Nicing up a process to make it more responsive is a classic symptom of this.
Correct. But this has nothing to do with priority inversion, yet. This can happen just as well when both tasks have the same priority and there is just not enough free CPU power. And guess what? That is the discussed case.
Here, you can increase responsiveness (that is, decrease latency) by changing how big the slices are (i.e. whether to give 10x0.01 secs or 1x0.1 secs). While changing priority effectively changes how much time slices you get (2x0.1 or 5x0.1)
Priority inversion applies perfectly.
Only if you define priority to include everything what could influence the time until a task is executed (including interrupt mask and so on). Then, yes, time slice layout would be part of the priority and you'd call it that.
The classic understanding is more about which task is scheduled to come first and for preemptive kernels, also which task may preempt another.
Btw, due to the reference to QNX in the original post I understood that the classic sense was meant, because QNX only knows about explicit priorities (what Linux calls niceness) and does simply round-robin or FIFO for tasks of the same priority, depending on system settings. No other magic involved (at least according to the white papers).
Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.
if you read carefully what the article says, linus simply said it would be a boost, but the scheduler author applied it and "nothing short of amazing". As in nothing even remotely close to amazing.
Just be grateful X requests aren't sent in XML. Were X designed today, on today's "fast" hardware, some bright spark would probably decide that the advantages of making everything XML and putting an XML parser in the server outweigh the performance hit of parsing each request (which today's 2.4GHz SMP machines are up to, anyway).
Heh, nice to see them giving up and implementing the priority boost. I wish them the best luck implementing the detection of "foreground" tasks, with an user interface with so little contact with the processes it serves
Don't you know what this patch is about? Well, ever noticed how on Windows the three/four most used programs among the currently open tend to display their windows instantly when switching between them, not cause the disk to swap at all, be generally more responsive? It's because the Win32 subsystem gives foreground tasks a slight sheduling priority boost, and frees up background tasks' unused resources (the on-screen buffers of windows, I guess) as required by the foreground tasks' needs
You (and I mean you, random Slashdotter talking out of your ass) can easily see how X11 can't possibly compete on equivalent hardware, no matter how hard they try:
Make a difference - use Windows! (open source clone of Windows NT)
Are there any X11 developers out there (or at least someone in the know) that can comment on the actual PLANS for XFree? So far I see several legitimate criticisms, one being the hardware access/busy waiting issue, and another being the mess that is the way XFree reads resources. When I was first introduced to X, right off the bat, the fact that it was a "special" application that had its own drivers to do direct hardware access, and the mind-boggling resource system, stood right out at me. Although X is great for many things, and although a lot of people spew hot air about it, I feel there are legitimate outstanding issues. As someone who is highly anticipating Linux kernel 2.6, and the potential for Linux on the desktop, I think these are very valid concerns.
The XFree86 page is rather spartan, and I get NO idea what the roadmap for XFree looks like.
It's 10 PM. Do you know if you're un-American?
the vax scheduler would give a good boost to processes just after an i/o read completion.
Sounds like a typical Linus idea to me. So obviously right that you can't imagine why you wouldn't do it.
It's got nothing to do with gui's. It's not a hack like the windows priority bar or nicing X. It basically states that if you have a CPU bound process which lots of interactive tasks use then the server should get a "caffeine" shot too.
X is just an easy example. It quickly gets CPU bound but can have lots of interactive clients depending on it. End result of this patch being the interactive clients respond better because the server is getting more processor in response to them existing. It automatically responds to usage patterns too.
Oh yeah, and for those who slam X you've missed the core formula here. There need to be enough people who see sizable and fixable weaknesses in X to create a demand for a replacement. By and large X is decent and getting better, so such demand is marginal. There have been efforts to "fix" X but most have withered and died. This is how open software works.
I guess you don't know any Mac users.
When I'm finished using the computer, I just get up and walk away. After a while, it realizes I'm gone, and goes to sleep. While asleep, it uses so little electricity it doesn't matter.
When I want to use the computer again, I walk up to it and touch the keyboard or mouse. There's my desktop again, instantly, with no boot time.
Now, why the hell would I ever want to turn it off?
The original poster is right. People turn computers off either because they have crappy computers that don't support deep sleep mode, or because they have crappy software that needs reboots.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
My browser window almost always already has a URL in the location bar. Basically, I'm wondering how you replace text? (like a url in the location bar)
Erik
That's sweet. Thanks for the tip.
Erik
I have a relatively old and slow system: 120 MHz Pentium CPU, 16 meg RAM. Under Win95, I have no problem whatsoever playing MP3s with maplay 1.2+
On Linux, however, even the slightest load on the system causes MP3 playback to stutter. One of the MP3 players has a command-line option to increase buffering. This helps, but why is it my responsibility to turn on buffering?
It's just aggrivating that supposedly inferior Windows has no trouble with this while Linux does. Hopefully this patch will fix it.
X is the downfall of Linux.
.. built in these last few years. What is holding us back?
It's as dirty as windows.
Take it away.
There is as much a need for a completely new system as there was a need for Linux in the first place.
X is broken. Horribly broken. Beyond repair.
How can we put so much effort into fixing a pile of rubble? We could easily have had an amazing new fast and minimal, yet just as configurable system as Xfree,
I just don't understand why I'm stuck with X.
I can think of plenty of times I've pasted text with style info and wanted it that way. Windows and Mac OS generally give you the option to paste with or without formatting (I think it's application dependent). X only appears to let you do it without, I guess just one more example of it's vaunted flexibility. Why is it that whenever someone points out something that's difficult or impossible to do with Linux the response inevitably is "Only an idiot would want to do that anyway!" Can't you guys admit even slight imperfections? It's ridiculous.
...wearing a skin-tight topless leather jumpsuit, with cutaway buttocks and transparent crotch panel.
in EE terms that would FM...Fucking Magic
If Mr. Edison had thought smarter he wouldn't sweat as much. --Nikola Tesla
NO 2.6 for you! NEXT!
$current_computer_revolution rules!
OK, here's my question: I don't run dev kernels on my main box here, so how long can I expect to wait before this patch makes it into a stable kernel? I expect there's no chance it will be backported to 2.4, so the real question is how long until 2.6 (or 3.0?) comes out? I heard "early 2003" several months ago. Is that still a reasonable timeframe?
"Anything is better than IE, and you can quote me on that." -- Wil Wheaton.
No one that uses windows (99% of the computing mass) will give a rat's rear about this. More geeks licking each other's ear, but pointless to humanity.
If anything, Linux is becoming the next MS
Now, *that*, I have to say, is bordering on the flamebaitish -- yes, I see what you're trying to say, but that's a kind of offensive way to phrase it.
Uh...check out Windows 2000 scheduling algos.
It's not exactly the same thing, though even Linus mentioned it (rather offensively, IMHO, to Ingo). Windows has a simple heavy priority boost it gives to the foreground app. That works fine if you're working in a fairly modal manner on a single-user system and you have a desktop-with-foreground-and-background paradigm as a fundamental part of the OS.
Linux's scheduler takes a somewhat more ambitious (granted, that probably means you can trick it more nastily) approach, partly because it has a more general, more difficult task. From what I can tell from skimming the conversation, Ingo's work is something more along the lines of advancing the traditional UNIX approach of "this app didn't use (or is tending not to use) its full timeslice, maybe because it's blocking on I/O, so give it higher priority to get another timeslice than an app that *did* use its full timeslice". He's just doing somewhat more sophisticated automatic classification of whether an app is "interactive" or not.
Yes, on the very surface, it's similar in goal. Make the task that the user is working with get more cycles at appropriate times to reduce latency of interface response. However, the approach is very much different, and the potential benefits are higher (since this automatically addresses a wide range of apps, not just making the foreground app peppier to keep scrolling snappy).
I *will* give you that this has little to do with open source. I suspect that there are plenty of closed-source systems that have tried to do more advanced classification of apps as interactive or noninteractive.
May we never see th
That's right, it should 'just work'. If it doesn't just work for you, then it's your distro's fault. They should have done those things for you. It's not your fault, and it's not KDE's fault.
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Because if it were Linux would have been working like this 10 years ago.
The interactivity still wasn't perfect, but it was noticably better. Now if I can just track down and apply Ingo's patch as well....
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Qnx real time os and Be is multithreaded . Is linux behind these operating systems in handling processes or threads?
...and hate themselves. self-flagellation kind of deal.
Isn't there a backport for this [the O(1) scheduler] for 2.4?
Herein lies the difference. My browser window always pops up with (I think it's about:blank or something similar) as its' initial URL - anyway the URL area is empty.
:-)
If I want to overwrite existing text, I double-click the offending URL and hit delete first, but in general I don't need to do this.
I use linux as my desktop at home and at work, I'm a programmer by trade. Since we all check in and out via CVS, it's up to me which OS I use. Linux makes my life a lot easier
I have a double-headed machine, normally with (say) 5 or 6 editor windows open - cutting and pasting is a common task, and it's just so much easier to do it all with the mouse, for me, at least. I guess everyone has their own way....
Simon.
Physicists get Hadrons!
You sez:
"2.5.54 is far slicker on the desktop than 2.4.x
I don't blame ya.
With 2.4.x kinda die a s-l-o-w death, due to the super-sluggish-performance by that ultra-non-slick-maintainer
Muchas Gracias, Señor Edward Snowden !
You sez:
"Linux isnt going to be truely Desktop friendly
until X11 gets replaced with something that
doesnt completely suck."
For a much less-suck thingy, try enlightenment 0.17. Website at http://www.enlightenment.org
Muchas Gracias, Señor Edward Snowden !
I find it amazing Linus and crew get any code done when they write a 5 line patch then spend 15 posts in lkml to debate it. And that's just Linus posts that kerneltrap found interesting.
"tar -zxf FOO.tar.gz; cd FOO; ./configure; make; make install"
No mouse, no stupid dialogs, just type it within seconds and turn off the power of your monitor. When the next time you turn on your monitor, there would be a fully-optimized software for you!
Is there a way on slashdot not to see poster above #200 000 ?
Some days I really want to see good posts.
I'm not trolling, just fed up.
The speaker, a guy who I had not heard of before but had clearly been working on computer security for decades, argued that both Windows and Linux had fscked up security majorly by letting drivers run in ring 0 and thus giving them access to everything in the kernel (for instance, letting your video driver quietly monitor your network traffic). His argument was that the x86 had the facility to run drivers in ring 1, thus quarantining them from touching hardware they weren't supposed to.
I don't understand the internals of the x86 well enough to know how much actual security that would add, and I would also argue that I would much prefer an open source driver running with unlimited privileges to a closed-source driver in a sandbox.
The other issue is that shifting drivers out of ring 0 might affect performance quite a lot, and if there's no real gain in security (or stability, because it would also be some protection against a badly-written driver screwing the whole system), it's probably not worth the bother.
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
Okay, this was funny the first 10 times, but now it's starting to get old... Even 'In Soviet Russia, Interactivity boosts YOU!' is funnier. (I know, don't feed the trolls...)
Meep.
I suppose there are several real-time efforts going on, but I'm curious about why this is one that Linus supports while he seemed set against the preemptible kernel. So is there a connection? Is this the next revision of the preemptible kernel code?
someone said "You mean here in the year 2003 Linux is going to get a decent desktop, like Macintosh got in 1984 or Windows in 1995?"
um no... Linux had a decent desktop years ago, but I'll admit that it was best suited to intelligent people.
What this is about is maintaining good GUI responsiveness and smooth multimedia playback in the presence of punishing, disk thrashing system activity - in other words, it's not about catching up to mac or windows, since neither mac nor windows have ever been there. We're talking really good stuff, not commodity pee cee type behavior.
Oh, as for your comment about X windows cutting and pasting, I don't know what to tell you - it was working fine for me in 1993, and it's still working fine. perhaps your problem lies between the headphones...
I agree and run into this problem so much (under Windows) that I have developed a speedy workaround:
1. Select text, hit Ctrl+C (copy).
2. WindowsKey+R (run program), "notepad", Enter.
3. Ctrl+V (paste), Ctrl+A (select all), Ctrl+C (copy).
4. Alt+F4 (close Notepad).
5. Switch to Word or whatever, Ctrl+V (paste).
It takes a lot less time to do than it takes to describe, and copy-and-pasting through Notepad removes any and all formatting.
I know this is Slashdot and I should provide a Linux-specific way to do this but I primarily run Windows.
I feel fantastic, and I'm still alive.
They officially measure boot time as the time from turning on the power to the time when the "Start" button shows up on the screen.
So all sorts of things get twisted around, delayed, etc. by the OEMs just to make that damned button "clickable", even though the action which is supposed to follow that click won't happen for almost a minute.
Last year we drove across the country... We switched on the driving...
every half mile. We had one cassette tape to listen to on the entire trip.
I don't remember what it was.
-- Steven Wright
- this post brought to you by the Automated Last Post Generator...