Linux-Development-Sys Digest #642, Volume #8 Fri, 13 Apr 01 11:13:12 EDT
Contents:
put_user Error (Mikael Chambon)
Kernel 2.2 and device driver/modules (david)
glibc2.2.2 make error (Greg Ellison)
Re: put_user Error ("Mikael Chambon")
Re: Kernel 2.2 and device driver/modules ("tlin")
Re: checking for non ansi extensions (Richard Heathfield)
sys_sched_yield with SCHED_FIFO policy (Benjamin Lussier)
Re: Need your recommendation for a full-featured text editor (Nix)
Re: Need your recommendation for a full-featured text editor (Nix)
Re: Module trouble (Nix)
CPU cache and skb ("Slawek Grajewski")
Re: Need your recommendation for a full-featured text editor (Tor Arntsen)
Memory caching ("Ryan Storgaard")
Re: Need your recommendation for a full-featured text editor (Thore B. Karlsen)
----------------------------------------------------------------------------
From: Mikael Chambon <[EMAIL PROTECTED]>
Subject: put_user Error
Date: Fri, 13 Apr 2001 10:03:35 +0200
Hi everybody,
I've got a very long an specific question sorry. AS a school project I
have to write a new signal system, it's almost finish but I 've an error
that I was not able to solve this night, If someone could help me.
In kernel mode when A new signal is pending, a specific function is
called. In this function, I manage the signal queue and handle the
function to execute for a specific signal number by calling
setup_mframe.
To handle the specific function I start by calling my function
get_mframe to compute the first memory allocation of the frame in user
mode stack:
static inline void *get_mframe(t_msig_info *info, struct pt_regs *regs,
size_t frame_size)
{
unsigned long esp;
esp = regs->esp;
return (void *)((esp - frame_size) & -8ul);
}
int setup_mframe(t_msig_info *info, struct pt_regs *regs)
{
int ret;
struct sig_mframe *frame;
ret = 0;
frame = get_mframe(info, regs, sizeof(*frame));
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
{
printk("Setup mframe segfault 1\n");
force_sig(SIGSEGV, current);
return (0);
}
ret |= put_user(info->signo, &frame->sig);
if (ret)
{
printk("Setup mframe segfault 2 with %d \n", ret);
force_sig(SIGSEGV, current);
return (0);
}
.........[].....
The probleme is that my first put_user(info->signo, &frame->sig)
is returning all the time an error (-14), I can't figure out why !!!
IF someone could give me a clue I would really appreciate.
Here is my struct sig_mframe:
struct sig_mframe
{
char *pretcode;
int sig;
pid_t pid;
msig_sig_t *msg;
struct sigcontext sc;
struct _fpstate fpstate;
char retcode[8];
};
Well, best regards to all.
--
Mikael Chambon | Paris France
------------------------------
From: david <[EMAIL PROTECTED]>
Subject: Kernel 2.2 and device driver/modules
Date: Fri, 13 Apr 2001 07:29:14 -0400
I'm converting a device driver for an Avtec high speed serial I/O card
from the 2.0.X kernel to the 2.2.X kernel
Other then a few changes in the 'C' function profiles very little was
done to get the code to compile without warnings. The 2.2 code didn't
come with a Makefile so I modified a Makefile I used with the 2.0 code.
However, when I use insmod to load the module I got alot of unresolved
referneces, several of which are my variables, but most are system
variables and/or functions.
Was there a big change in the kernel from 2.0 to 2.2 that would cause
all of the unresolved variables and functions or I am doing something
really stupid here.
I was thinking I had problems in 3 areas
1. The makefile wasn't configured right and didn't compile or link
the code into a module correctly.
2. insmode was not resolving all the references
3. Either the kernel has been radically changed from 2.0 to 2.2 or
the symbols were not being exported.
here's a list of unresolved references.
bh_active
boot_cpu_data
check_region
del_timer
disable_irq
enable_irq
free_dma
free_irq
interruptible_sleep_on
interruptible_sleep_on_timeout
jiffies
printk
register_chrdev
release_region
request_dma
request_irq
request_region
schedule_timeout
tq_immediate
tq_timer
unregister_chrdev
I am using a Caldera 2.3 distribution with a 2.2.10 kernel.
P.S.
The return email address is bad.
------------------------------
From: Greg Ellison <[EMAIL PROTECTED]>
Subject: glibc2.2.2 make error
Date: Fri, 13 Apr 2001 20:39:22 +0800
Hi!
I,m trying to upgrade my libs after ViaVoiceTTS fails to work on my
RH7 system. I,ve followed the FAQ advice and put it into my kernel and
configured with
../configure --enable-add-ons=linuxthreads --prefix=/usr
--with-headers=/usr/src/linux-2.2.16/include
I also tried the test install from glibc2 HOWTO using
"--prefix=/usr/i486-glibc2.2.2-linux " and failed at the same point on
make.
Any suggestion, should I use the new 2.4 kernel?
There is a menusagestat.h but no menisagestat.o in the malloc dir
Thanks.
ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc
-isystem /usr/lib/gcc-lib/i386-redhat-linux/2.96/include -isystem
/usr/src/linux-2.2.16/include -D_LIBC_REENTRANT -include
../include/libc-symbols.h -o
/usr/src/linux-2.2.16/glibc-2.2.2/compile/malloc/memusagestat.o
memusagestat.c:36:16: gd.h: No such file or directory
memusagestat.c:37:21: gdfontl.h: No such file or directory
memusagestat.c:38:21: gdfonts.h: No such file or directory
make[2]: ***
[/usr/src/linux-2.2.16/glibc-2.2.2/compile/malloc/memusagestat.o] Error
1
make[2]: Leaving directory `/usr/src/linux-2.2.16/glibc-2.2.2/malloc'
make[1]: *** [malloc/others] Error 2
make[1]: Leaving directory `/usr/src/linux-2.2.16/glibc-2.2.2'
make: *** [all] Error 2
[root@localhost compile]# exit
------------------------------
From: "Mikael Chambon" <[EMAIL PROTECTED]>
Subject: Re: put_user Error
Date: Fri, 13 Apr 2001 14:37:12 +0200
I've found my error, I 've forgotten asmlinkage :o))
--
Mikael Chambon
[EMAIL PROTECTED] || [EMAIL PROTECTED]
ICQ 10249913 || http://www.cronos.org
"Mikael Chambon" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> Hi everybody,
>
>
> I've got a very long an specific question sorry. AS a school project I
> have to write a new signal system, it's almost finish but I 've an error
> that I was not able to solve this night, If someone could help me.
>
> In kernel mode when A new signal is pending, a specific function is
> called. In this function, I manage the signal queue and handle the
> function to execute for a specific signal number by calling
> setup_mframe.
>
> To handle the specific function I start by calling my function
> get_mframe to compute the first memory allocation of the frame in user
> mode stack:
>
>
> static inline void *get_mframe(t_msig_info *info, struct pt_regs *regs,
> size_t frame_size)
> {
> unsigned long esp;
>
> esp = regs->esp;
> return (void *)((esp - frame_size) & -8ul);
> }
>
> int setup_mframe(t_msig_info *info, struct pt_regs *regs)
> {
> int ret;
> struct sig_mframe *frame;
>
> ret = 0;
> frame = get_mframe(info, regs, sizeof(*frame));
> if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
> {
> printk("Setup mframe segfault 1\n");
> force_sig(SIGSEGV, current);
> return (0);
> }
> ret |= put_user(info->signo, &frame->sig);
> if (ret)
> {
> printk("Setup mframe segfault 2 with %d \n", ret);
> force_sig(SIGSEGV, current);
> return (0);
> }
> .........[].....
>
>
>
> The probleme is that my first put_user(info->signo, &frame->sig)
> is returning all the time an error (-14), I can't figure out why !!!
> IF someone could give me a clue I would really appreciate.
>
>
> Here is my struct sig_mframe:
>
> struct sig_mframe
> {
> char *pretcode;
> int sig;
> pid_t pid;
> msig_sig_t *msg;
> struct sigcontext sc;
> struct _fpstate fpstate;
> char retcode[8];
> };
>
>
>
> Well, best regards to all.
>
> --
> Mikael Chambon | Paris France
------------------------------
From: "tlin" <[EMAIL PROTECTED]>
Subject: Re: Kernel 2.2 and device driver/modules
Date: Fri, 13 Apr 2001 09:11:37 -0600
See below.
david <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> I'm converting a device driver for an Avtec high speed serial I/O card
> from the 2.0.X kernel to the 2.2.X kernel
>
> Other then a few changes in the 'C' function profiles very little was
> done to get the code to compile without warnings. The 2.2 code didn't
> come with a Makefile so I modified a Makefile I used with the 2.0 code.
>
> However, when I use insmod to load the module I got alot of unresolved
> referneces, several of which are my variables, but most are system
> variables and/or functions.
>
> Was there a big change in the kernel from 2.0 to 2.2 that would cause
> all of the unresolved variables and functions or I am doing something
> really stupid here.
>
> I was thinking I had problems in 3 areas
>
> 1. The makefile wasn't configured right and didn't compile or link
> the code into a module correctly.
Possible, and also make sure you boot up the system with the right kernel.
>
> 2. insmode was not resolving all the references
This may not be the problem, I did use some timer and irq in 2.2.16 kernel.
So I think the system should export them.
>
> 3. Either the kernel has been radically changed from 2.0 to 2.2 or
> the symbols were not being exported.
Same reason as 2.
>
> here's a list of unresolved references.
>
> bh_active
> boot_cpu_data
> check_region
> del_timer
> disable_irq
> enable_irq
> free_dma
> free_irq
> interruptible_sleep_on
> interruptible_sleep_on_timeout
> jiffies
> printk
> register_chrdev
> release_region
> request_dma
> request_irq
> request_region
> schedule_timeout
> tq_immediate
> tq_timer
> unregister_chrdev
>
> I am using a Caldera 2.3 distribution with a 2.2.10 kernel.
>
> P.S.
>
> The return email address is bad.
>
>
------------------------------
Date: Fri, 13 Apr 2001 14:38:15 +0100
From: Richard Heathfield <[EMAIL PROTECTED]>
Crossposted-To: comp.programming
Subject: Re: checking for non ansi extensions
Raymond Limpus wrote:
>
> "O.Petzold" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
> > Hello,
> >
> > how can I check for non ansi extensions like long long
> > and handle this using ifdef's and gcc ? Is there a
> > preprocessor flag where I can check if the -pedantic -ansi
> > options are here. Or is it better to use autoconf and
> > config.h. How to write the rules?
>
> long long is an ANSI type isn't it? in the C99 std.
Er, yes. But C99 compilers are few and far between, so asking how to
warn about it is not an unreasonable request, especially if he needs his
code to be portable to a platform where no C99 compilers exist (which,
let's face it, is *most* platforms).
C99 compilers are beginning to peep their noses round the door, but they
haven't yet taken off their coats and poured themselves a sherry.
--
Richard Heathfield
"Usenet is a strange place." - Dennis M Ritchie, 29 July 1999.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
K&R answers, C books, etc: http://users.powernet.co.uk/eton
------------------------------
From: Benjamin Lussier <[EMAIL PROTECTED]>
Subject: sys_sched_yield with SCHED_FIFO policy
Date: Fri, 13 Apr 2001 15:57:11 +0200
Reply-To: [EMAIL PROTECTED]
Hi ol'
I am developping a workload for linux scheduling fonctions (kernel
version 2.4.0 ; debian release) to test some stuff and junks, and I
encountered a problem with sched_yield().
I give a process priority 4 and SCHED_FIFO policy with
sched_setscheduler.
Then this process fork, and the father sched_yield (while the child
printf).
Thus the child should take the CPU and do whatever he does, but actually
the father keeps the CPU (contradictory with man sched_yield and man
sched_setscheduler).
(I'm adding an extract of the source a little further)
There is no problem with a priority of SCHED_OTHER (because I believe of
the SCHED_YIELD bit).
By studying the source code of linux kernel, I can see that the only
action done by sched_yield in UP configuration, SCHED_FIFO priority (my
case) is current->need_resched =1; (if there is another running process
which should be the case).
I have the same kind of problem when seting the priority of a process
(which we will call process1) with sched_setscheduler (still SCHED_FIFO)
to the priority of another process (to be original, let's call it
process2).
the current process (process1) should give the CPU to process2 after
the syscall (still according to man, and because of
current->need_resched = 1), but this is not the case.
Is there some kind of hermetic reasons for these strange behaviours ?
(well strange regarding POSIX, anyway)
Or am I totally out of the case ?
(don't be too harsh, we never stop learning :P )
Anyway has anybody successfully used sched_yield and set_scheduler with
process of the same priority and a SCHED_FIFO or SCHED_RR policy ?
Thanks for your attention
====================================
(and now some code to criticize)
/* FATHER SCHED_YIELDING AFTER FORK (case 1) */
/* set priority */
priority.sched_priority = 4;
if (sched_setscheduler(0, SCHED_OTHER, &priority) == -1)
{
printf("P1 : I don't wanna be FIFO !\n");
perror();
exit(0);
}
/* P2 will have the same priority than his daddy, and indeed it has */
P2 = fork();
if (P2)
{
/* the father */
printf("bla\n");
if (sched_yield())
printf("P1 : I don't wanna give my CPU !\n");
printf("bu\n");
(...)
}
else
{ /* the child */
printf("I'm the child\n");
(...)
=========
the output is (but shouldn't be):
$ bla
$ bu
(...)
$ I'm the child
====================================
/* PROCESS SCHED_SETSCHEDULING WITH THE SAME POLICY THAN AN ALREADY
EXISTING PROCESS */
/* process 1 */
(...)
priority.sched_priority = 4;
if (gettimeofday(&time, NULL))
{
printf("P3 : Can't tell you... it's a secret\n");
perror();
}
printf("P3 : I free my rights %d.%d\n", time.tv_sec,
time.tv_usec);
if (sched_setscheduler(P3, SCHED_FIFO, &priority) == -1)
{
printf("P3 : Can't downgrade priority.\n");
perror();
}
printf("P3 : I'm not the one who should talk here...\n");
if (sched_yield())
printf("P3 : I don't wanna give my CPU !\n");
printf("P3 : I shouldnt' talk here neither\n");
if (gettimeofday(&time, NULL))
{
printf("P3 : Can't tell you... it's a secret\n");
perror();
}
printf("P3 : autodestruction at %d.%d\n", time.tv_sec,
time.tv_usec);
return 0;
======
here process 1 dies before process 2 does anything,
even though process 2 has already priority 4 before this piece of code
executes.
--
> `Have you guessed the riddle yet?' the Hatter said, turning to Alice again.
> `No, I give it up,' Alice replied: `what's the answer?'
> `I haven't the slightest idea,' said the Hatter.
------------------------------
From: Nix <$}xinix{[email protected]>
Crossposted-To:
24hoursupport.helpdesk,alt.comp.shareware.programmer,comp.editors,comp.lang.java.help,comp.lang.java.programmer,comp.lang.java.softwaretools,comp.os.linux.advocacy
Subject: Re: Need your recommendation for a full-featured text editor
Date: 13 Apr 2001 14:12:35 +0100
On Wed, 11 Apr 2001, Thore B. Karlsen spake:
> On 11 Apr 2001 11:54:42 -0300, Roberto Selbach Teixeira
> <[EMAIL PROTECTED]> wrote:
>>What can't you do with customize?
>
> Make functions that make emacs liveable.
But you can't write code in *any* point-and-clicky configurator.
Complaining because Emacs requires you to write code to configure
things, and then complaining because its point-and-clicky configurator
doesn't let you write code, is rather inconsistent.
--
Rusks for Peace!
------------------------------
From: Nix <$}xinix{[email protected]>
Crossposted-To:
24hoursupport.helpdesk,alt.comp.shareware.programmer,comp.editors,comp.lang.java.help,comp.lang.java.programmer,comp.lang.java.softwaretools,comp.os.linux.advocacy
Subject: Re: Need your recommendation for a full-featured text editor
Date: 13 Apr 2001 14:16:32 +0100
On Wed, 11 Apr 2001, Thore B. Karlsen spake:
> On 11 Apr 2001 17:28:59 +0100, Phillip Lord <[EMAIL PROTECTED]> wrote:
>> You want the additional functionality you have to pay
>>something for it.
>
> I _don't_ want the additional functionality! It's nice to have it, but as
> options, not as part of the standard package.
They *are* options.
> I don't want 47MB worth of
> crud that I'm never going to use.
Don't install the Lisp packages corresponding to the things you don't
want, then.
> Emacs should stick to being a text editor, not an application environment.
Sorry, but the Emacs developers and Emacs users disagree. It's been an
application environment for a damned long time (decades).
--
Rusks for Peace!
------------------------------
From: Nix <$}xinix{[email protected]>
Subject: Re: Module trouble
Date: 13 Apr 2001 14:21:10 +0100
On Wed, 11 Apr 2001, Ivor Cox said:
> I substituted libc.so for <my module> in thye dlopen() call - in this case
> the error was "invalid ELF header".
That's because /usr/lib/libc.so is a linker script, not an ELF shared
object.
--
Rusks for Peace!
------------------------------
From: "Slawek Grajewski" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps,comp.os.linux.networking
Subject: CPU cache and skb
Date: Fri, 13 Apr 2001 16:03:46 +0200
Hello,
I have a question regarding CPU cache and skb coherency. After network
driver gives an skbuf to PCI device data is transferred automatically
"behind" the CPU back. The question is - how does it happen that CPU sees
the right data in skb after the data transmission is completed? Is it
because alloc_skb() allocates buffers located in non-cached memory or
drivers invalidate cache before giving it to to upper layers? I don't see
anything cache related in alloc_skb() routine. There seems to be nothing
cache related in network drivers either ...
TIA,
Slawek
------------------------------
From: [EMAIL PROTECTED] (Tor Arntsen)
Subject: Re: Need your recommendation for a full-featured text editor
Crossposted-To:
alt.comp.shareware.programmer,comp.editors,comp.lang.java.help,comp.lang.java.programmer,comp.lang.java.softwaretools,comp.os.linux.advocacy
Date: Fri, 13 Apr 2001 14:28:41 GMT
Ken Tough <[EMAIL PROTECTED]> writes:
>Paul Shirley <[EMAIL PROTECTED]> wrote:
>
>><[EMAIL PROTECTED]> writes
>>>Syntax highlighting is useful for NOVICE programmers.
>
>>>Most experienced programmers have used one-color text
>>>for program code for years...
>
>>...although the ones that earn a living at it mostly side with the
>>novices.
>
>I think there's probably a UNIX/realtime - "enterprise" divide
>here. Quick straw poll -- how many UNIX programmers use 1 colour?
None where I work (although we used to use 2 colours way back :-)
All of us, many with "enterprise"/Unix experience going decades back,
are using XEmacs w/colour highlighting. Those that claim that experienced
programmers have no use for more than 1 (sic) colour don't know what they
are talking about. It simply means they have never really tried it.
-Tor
------------------------------
From: "Ryan Storgaard" <[EMAIL PROTECTED]>
Subject: Memory caching
Date: Fri, 13 Apr 2001 14:50:27 GMT
Hi all,
I am posting this here rather than linux.admin because I am hoping for a
developers perspective on this memory question. thnx!
I have a Linux machine with 4GB of RAM. I am trying to find out whether I
should be seeing lots of "free memory" or if it should be cached instead. I
have read numerous articles and posts regarding people complaining "hey why
don't I have very much free memory" and the response was always "you don't
want lots of free memory as that is a waste, linux should cache it"
I'm fine with the above explanation. However, I don't get what my system is
doing. When I first boot up the system lots of memory is "free", then later
on it shows that pretty much all of the memory is cached. I also expected to
see that when more processes were started, the amount cached would start to
drop. That isn't the case.
Can someone please explain to me how this works? (I was also wondering how
big of a swap partition one should make when dealing with a machine with 4GB
of memory....)
After booting my system, I periodically ran free &/or meminfo and you will
notice it starts off with lots free, and then declines... Is this normal?
total used free shared buffers
cached
Mem: 3896028 813248 3082780 0 2440 724216
-/+ buffers/cache: 86592 3809436
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 826264 3069764 0 2552 727980
-/+ buffers/cache: 95732 3800296
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 852536 3043492 0 4308 767044
-/+ buffers/cache: 81184 3814844
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 862832 3033196 0 4544 776704
-/+ buffers/cache: 81584 3814444
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 870212 3025816 0 4584 784004
-/+ buffers/cache: 81624 3814404
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 876940 3019088 0 4600 790536
-/+ buffers/cache: 81804 3814224
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 882160 3013868 0 4624 795412
-/+ buffers/cache: 82124 3813904
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 895860 3000168 0 4676 808608
-/+ buffers/cache: 82576 3813452
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 904488 2991540 0 4696 816960
-/+ buffers/cache: 82832 3813196
Swap: 265176 0 265176
total used free shared buffers
cached
Mem: 3896028 911324 2984704 0 4712 823644
-/+ buffers/cache: 82968 3813060
Swap: 265176 0 265176
total: used: free: shared: buffers: cached:
Mem: 3989532672 964853760 3024678912 0 4919296 874004480
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2953788 kB
MemShared: 0 kB
Buffers: 4804 kB
Cached: 853520 kB
Active: 816932 kB
Inact_dirty: 41392 kB
Inact_clean: 0 kB
Inact_target: 9564 kB
HighTotal: 3047408 kB
HighFree: 2153896 kB
LowTotal: 848620 kB
LowFree: 799892 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 1173663744 2815868928 0 5799936 1075646464
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2749872 kB
MemShared: 0 kB
Buffers: 5664 kB
Cached: 1050436 kB
Active: 950368 kB
Inact_dirty: 105732 kB
Inact_clean: 0 kB
Inact_target: 9164 kB
HighTotal: 3047408 kB
HighFree: 1956268 kB
LowTotal: 848620 kB
LowFree: 793604 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 1199509504 2790023168 0 5910528 1100640256
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2724632 kB
MemShared: 0 kB
Buffers: 5772 kB
Cached: 1074844 kB
Active: 969588 kB
Inact_dirty: 111028 kB
Inact_clean: 0 kB
Inact_target: 8712 kB
HighTotal: 3047408 kB
HighFree: 1931816 kB
LowTotal: 848620 kB
LowFree: 792816 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 1307475968 2682056704 0 6197248 1197895680
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2619196 kB
MemShared: 0 kB
Buffers: 6052 kB
Cached: 1169820 kB
Active: 1004612 kB
Inact_dirty: 171260 kB
Inact_clean: 0 kB
Inact_target: 7500 kB
HighTotal: 3047408 kB
HighFree: 1829248 kB
LowTotal: 848620 kB
LowFree: 789948 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 1335672832 2653859840 0 6234112 1233727488
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2591660 kB
MemShared: 0 kB
Buffers: 6088 kB
Cached: 1204812 kB
Active: 947428 kB
Inact_dirty: 263472 kB
Inact_clean: 0 kB
Inact_target: 4452 kB
HighTotal: 3047408 kB
HighFree: 1802636 kB
LowTotal: 848620 kB
LowFree: 789024 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 1625288704 2364243968 0 6676480 1518034944
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2308832 kB
MemShared: 0 kB
Buffers: 6520 kB
Cached: 1482456 kB
Active: 799164 kB
Inact_dirty: 689812 kB
Inact_clean: 0 kB
Inact_target: 204 kB
HighTotal: 3047408 kB
HighFree: 1528496 kB
LowTotal: 848620 kB
LowFree: 780336 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 1790013440 2199519232 0 29872128 1601789952
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 2147968 kB
MemShared: 0 kB
Buffers: 29172 kB
Cached: 1564248 kB
Active: 778108 kB
Inact_dirty: 815312 kB
Inact_clean: 0 kB
Inact_target: 20 kB
HighTotal: 3047408 kB
HighFree: 1438276 kB
LowTotal: 848620 kB
LowFree: 709692 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 2593406976 1396125696 0 30928896 2354786304
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 1363404 kB
MemShared: 0 kB
Buffers: 30204 kB
Cached: 2299596 kB
Active: 780112 kB
Inact_dirty: 1549688 kB
Inact_clean: 0 kB
Inact_target: 8624 kB
HighTotal: 3047408 kB
HighFree: 702392 kB
LowTotal: 848620 kB
LowFree: 661012 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 3797864448 191668224 0 32108544 3557834752
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 187176 kB
MemShared: 0 kB
Buffers: 31356 kB
Cached: 3474448 kB
Active: 780140 kB
Inact_dirty: 2725664 kB
Inact_clean: 0 kB
Inact_target: 7980 kB
HighTotal: 3047408 kB
HighFree: 2244 kB
LowTotal: 848620 kB
LowFree: 184932 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
total: used: free: shared: buffers: cached:
Mem: 3989532672 3960602624 28930048 0 10301440 3759407104
Swap: 271540224 0 271540224
MemTotal: 3896028 kB
MemFree: 28252 kB
MemShared: 0 kB
Buffers: 10060 kB
Cached: 3671296 kB
Active: 777876 kB
Inact_dirty: 1894404 kB
Inact_clean: 1009076 kB
Inact_target: 32 kB
HighTotal: 3047408 kB
HighFree: 1576 kB
LowTotal: 848620 kB
LowFree: 26676 kB
SwapTotal: 265176 kB
SwapFree: 265176 kB
------------------------------
From: Thore B. Karlsen <[EMAIL PROTECTED]>
Crossposted-To:
24hoursupport.helpdesk,alt.comp.shareware.programmer,comp.editors,comp.lang.java.help,comp.lang.java.programmer,comp.lang.java.softwaretools,comp.os.linux.advocacy
Subject: Re: Need your recommendation for a full-featured text editor
Date: Fri, 13 Apr 2001 10:10:10 -0500
On 13 Apr 2001 14:12:35 +0100, Nix <$}xinix{[email protected]> wrote:
>>>What can't you do with customize?
>> Make functions that make emacs liveable.
>But you can't write code in *any* point-and-clicky configurator.
>
>Complaining because Emacs requires you to write code to configure
>things, and then complaining because its point-and-clicky configurator
>doesn't let you write code, is rather inconsistent.
No it's not. The point is that in emacs I _have_ to write functions to
make it liveable, whereas in other editors I can get by with just
fiddling with a few options.
M-x customize in emacs is not enough, but in vim I can get by with only
:options.
--
"By the time we've finished with him, he won't know whether
he's Number Six or the cube root of infinity!"
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list by posting to the
comp.os.linux.development.system newsgroup.
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************