Linux-Development-Sys Digest #750, Volume #6 Fri, 28 May 99 01:14:06 EDT
Contents:
Re: Can I call system function directly ? (Juergen Heinzl)
Re: Reliable (!) nic for 2.2 kernel? ([EMAIL PROTECTED])
Re: Reliable (!) nic for 2.2 kernel? (bryan)
Re: [Q] time slice in SCHED_OTHER (David Wragg)
Re: ELF header specifications (Arun Sharma)
Re: LINUX ability to handle large beowulf clusters (The Ghost In The Machine)
Re: SMP: Inconsistent variable MTRR settings ??? (David Wragg)
Re: Terabite Plus Filesystems ([EMAIL PROTECTED])
Re: advance power management (Greg White)
Re: Ideas for ultra-high-performance web server (Andrew Elmore)
Re: Using telnet to test inetd services ([EMAIL PROTECTED])
NFS bug in the new kernels (was Re: NFS with Redhat 6 server and ("G. Hugh SONG")
rmdir() source code ("J.C. Chuang")
Re: rmdir() source code (Alexander Viro)
Re: driver needs to find another driver... how?? ("Yann WANWANSCAPPEL")
----------------------------------------------------------------------------
From: [EMAIL PROTECTED] (Juergen Heinzl)
Subject: Re: Can I call system function directly ?
Date: Thu, 27 May 1999 20:06:58 GMT
In article <7ik16f$s1q$[EMAIL PROTECTED]>, Hui-ung Kwon wrote:
>Now I write daemon program.
>System function call via system call increases overhead.
>So I want to call system function( ex). sys_open, vfork) directly in my
>application.
>Can I call system function directly in my application for reducing overhead?
Yes, but (a) you'll have to take care of errno and such yourself and (b)
a system call requires a context switch and this is the most expensive
part anyway. In short ... forget it.
Cheers,
Juergen
--
\ Real name : J�rgen Heinzl \ no flames /
\ EMail Private : [EMAIL PROTECTED] \ send money instead /
------------------------------
From: [EMAIL PROTECTED]
Crossposted-To: comp.os.linux.networking
Subject: Re: Reliable (!) nic for 2.2 kernel?
Date: Thu, 27 May 1999 20:18:20 GMT
I have been adding hubs to my network. HP Procurve 10/100... 24 port.
They are autosensing, and I have 100meg nics in all systems. I have
been trying to force full duplex, but had a lot of problems. I saw your
comment that HUBS can only run at HALF duplex. And switches run FULL.
I thought I was getting more out of these HUBS... can you clarify, and
maybe tell me where I can get more information about HUBS vs SWITCHES.
And their ability or lack of ability to do FULL Duplex?
Thanks, Eric
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
------------------------------
From: bryan <[EMAIL PROTECTED]>
Subject: Re: Reliable (!) nic for 2.2 kernel?
Crossposted-To: comp.os.linux.networking
Date: Thu, 27 May 1999 21:05:50 GMT
there's no general rule. its all up to the actual implementation.
some vendors have a harder time interoperating with duplex mismatches
than others. you just gotta try and if the auto-neg doesn't work,
then hard-set the speed and duplex.
In comp.os.linux.development.system [EMAIL PROTECTED] wrote:
: I have been adding hubs to my network. HP Procurve 10/100... 24 port.
: They are autosensing, and I have 100meg nics in all systems. I have
: been trying to force full duplex, but had a lot of problems. I saw your
: comment that HUBS can only run at HALF duplex. And switches run FULL.
: I thought I was getting more out of these HUBS... can you clarify, and
: maybe tell me where I can get more information about HUBS vs SWITCHES.
: And their ability or lack of ability to do FULL Duplex?
: Thanks, Eric
: Sent via Deja.com http://www.deja.com/
: Share what you know. Learn what you don't.
--
Bryan
------------------------------
From: David Wragg <[EMAIL PROTECTED]>
Subject: Re: [Q] time slice in SCHED_OTHER
Date: 26 May 1999 19:25:01 +0000
Esben Haabendal Soerensen <[EMAIL PROTECTED]> writes:
> >>>>> "Soohyung" == Soohyung Lee <[EMAIL PROTECTED]> writes:
>
> Soohyung> I want to know how long the time quantum(time slice) on the
> Soohyung> SCHED_OTHER and SCHED_RR. Is time quantum meaningful in
> Soohyung> SCHED_OTHER and SCHED_RR. What I say is 'How often the
> Soohyung> context switching occurs' .
>
> The default is 10ms and 1ms for Alpha.
Those are the default tick intervals, as determined by HZ. Time slices
are a different matter.
The default time slice for a process is determined by DEF_PRIORITY,
measured in ticks, in <linux/sched.h>:
#define DEF_PRIORITY (20*HZ/100) /* 210 ms time slices */
Of course, a process very rarely uses up its whole time
slice. Normally it will either block somehow, or get pre-empted by the
kernel when a higher priority process becomes runnable. Time slices
will only expire frequently on a quiet machine which is not being used
interactively, and with a process (or processes) that computes without
doing blocking IO; but on such a machine it doesn't matter how long
the time slices are, within reason.
> Soohyung> Can I adjust this quantity, and if possible, how to ?
>
> It should be possible to adjust this quantity, but you will experience
> an increased overhead wasted on timer interrupts.
DEF_PRIORITY is defined in terms of HZ, and so changing the value of
HZ won't change it much at all (as the value of HZ increases, the
default time slice duration will tend towards 200ms).
You can edit DEF_PRIORITY and rebuild the kernel if you like. But
there is little to be gained by changing it. (Unlike HZ, which can be
usefully increased to improve the timer resolution).
David Wragg
------------------------------
From: [EMAIL PROTECTED] (Arun Sharma)
Subject: Re: ELF header specifications
Reply-To: [EMAIL PROTECTED]
Date: Thu, 27 May 1999 19:23:51 GMT
On Thu, 27 May 1999 11:19:32 +0200, LARS GRUNEWALDT
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm in the need of _exact_ specifications of the ELF executable header
> (I want to supply it in our own operating system). Where can I find a
> description how the ELF executable header generated by ld is to be used?
>
> thanx for spending time,
>
http://www.sco.com/developer/gabi/contents.html
-Arun
------------------------------
From: [EMAIL PROTECTED] (The Ghost In The Machine)
Crossposted-To: comp.os.linux.networking,comp.os.linux.advocacy
Subject: Re: LINUX ability to handle large beowulf clusters
Date: Thu, 27 May 1999 21:45:14 GMT
On Thu, 27 May 1999 18:47:21 +0200,
m.benndorf <[EMAIL PROTECTED]> wrote:
>Josef M�llers wrote:
>>
>> There was a "Linux Cluster Event" run by a German TV station (WDR)
>> during its "ComputerNacht" event last december. See
>> http://www.uni-paderborn.de/cs/heiss/linux/cluster/artikel/cluster.html
>> (Sorry, but since the event is so long ago, there is little information
>> left, so all I could find was this German article)
>>
>
>the official homepage for that is now:
>
>http://www.linux-cluster.org/
>
>but it's all in german
Throw it at
http://babelfish.altavista.digital.com
then. :-)
>
>
>
>mike
----
[EMAIL PROTECTED]
------------------------------
From: David Wragg <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.setup
Subject: Re: SMP: Inconsistent variable MTRR settings ???
Date: 27 May 1999 19:45:41 +0000
[EMAIL PROTECTED] (You Wish) writes:
> I just installed RH 6.0 on a dual P2-266 system (QDI motherboard) and I get
> the following message when booting:
>
> ...
> *IRQ mapping table*
> mtrr: your CPUs had inconsistent variable MTRR settings
> mtrr: probably your BIOS does not setup all CPUs
> PCI: PCI BIOS revision 2.10 entry at 0xfb530
> ...
>
> Can someone give me more info. on this?
The BIOS is supposed to set the MTRRs (memory type range registers) on
all CPUs to the same values. But unfortunately some BIOSes only setup
the MTRRs on CPU0. So Linux checks for this; when it finds
inconsistent MTRR settings it prints that message and fixes the
problem by assuming the settings on CPU0 are correct.
> Should I care at all?
Probably not, since that message means the problem has been fixed.
David Wragg.
------------------------------
From: [EMAIL PROTECTED]
Crossposted-To:
comp.os.ms-windows.nt.admin.misc,comp.sys.sun.admin,comp.sys.hp.misc,comp.os.linux.hardware
Subject: Re: Terabite Plus Filesystems
Date: 27 May 1999 19:22:51 -0500
Reply-To: "J.L.M." <[EMAIL PROTECTED]>
In article <[EMAIL PROTECTED]>,
Bob Hoekstra <[EMAIL PROTECTED]> wrote:
>Interesting project! What you don't say is how many files you have per
>directory. This is particularly important for NT.
>
>I feel that if your data is important and you want a file server that comes
>up and stays up, you should discount NT immediately. I have heard some
>horror stories about NT with very large directories -- as a test, try
>creating 100,000 small files in a single directory and pointing Windows
>Exploder at it. You will find that you can go and have a cup of coffee and a
>cigarette while the screen updates! This sort of activity affects the
>performance of the server as a whole.
>
>While I am a fan of Linux, but I would think twice about this sort of task
>for it. This leaves (IMHO) only HPUX and Solaris from your list. My personal
>preference is for Solaris, but I don't think that's critical and I cannot
>really justify it.
>
>Furthermore, I would resist using intel-based hardware. PCs are just not
>built to the same standard as most of the "real" Unix boxes from Sun, HP,
>IBM, SGI, etc. The one exception that comes to mind would be the Sequent
>range. This brings in some new flavours of Unix (AIX, Irix, Dynix, etc), and
>pretty much any of them will do a good job, and you seem to be open to this
>- maybe you should look for a good deal on a second-hand box (ex-rentals are
>often a good buy) rather than going for intel just to save money.
>
>Lastly, consider if a 64 bit hardware/OS combination may benefit. UltraSPARC
>+ Solaris 7 is one option here, but so is DEC Unix (or whatever Compaq is
>calling it now) on an Alpha box.
>
>Jake Maizel wrote:
>
>> We are building a system that needs to handle a huge number of files
>> that are 500KB-1MB in size (1-2TB total). Our only constraint right now
>> is the desire to use intel-based hardware for the host computers for
>> cost purposes. My question really is regarding which OS would best
>> handle a filesystem of this size. We are using lots of unix and NT so
>> we don't have a bias one way but we don't have experience with any OS
>> using a filesystem this big. What we are considering for hardware are
>> HP LPr hosts connected to a AL-FC RAID system (probably HP). We would
>> want to pick either HPUX, linux, NT or Solaris x86. Any experience
>> that could be passed would be great.
>>
>> jake
>
>
>
>
>
> The contents of this message express only the sender's opinion.
> This message does not necessarily reflect the policy or views of
> my employer, Merck & Co., Inc. All responsibility for the statements
> made in this Usenet posting resides solely and completely with the
> sender.
--
James
http://ssdd.conservatory.com
------------------------------
From: Greg White <[EMAIL PROTECTED]>
Subject: Re: advance power management
Date: Fri, 28 May 1999 00:48:22 GMT
Allin Cottrell wrote:
>
> "Paul D. Pandian" wrote:
>
> > Okay: Question. I upgraded the kernel to 2.2.0 (and tried all the rest
> > upwards too inlcuding the latest 2.3.3). System cannot shutdown. Even when I
> > selected the APM options under kernel configuration and compilation.
> >
> > What do I do ?
>
> Read /usr/src/linux/Documentation/Configure.help and look for
> references to APM. The kernel no longer does poweroff; when
> you select that option in configuring the kernel, all you're
> doing is "enabling" (not "activating") poweroff on shutdown.
> Supposedly you need a recent "shutdown" binary (util-linux)
> and give it the -p flag (or invoke it as "poweroff"). But
> I have to say this has not worked for me :-(
>
> --
> Allin Cottrell
> Department of Economics
> Wake Forest University, NC
It will work, if your 'halt' binary is reasonably up-to-date, and you
change the 'halt' command in runlevel 0 to 'halt -p'. I don't know where
this behaviour for halt was first introduced, but my version is 2.73.
GW
------------------------------
From: Andrew Elmore <[EMAIL PROTECTED]>
Subject: Re: Ideas for ultra-high-performance web server
Date: Thu, 27 May 1999 22:43:32 GMT
Phil Howard <[EMAIL PROTECTED]> wrote:
: | Anyway, thttpd uses the select() model to handle multiple connections at
: | the same time. The problem with the select() model is that, as I
: | understand it, it is very difficult to get this model to scale across
: | multiple processers in a SMP setup. Therefore, I need some way of doing
: | this in Linux:
: The select() model, especially with sockets, is difficult to scale up
: even on a single processor. You either have to mess around with locks
: or you have multiple processors or kernel threads racing to see who can
: accept() the next connection first.
: I've been thinking about going into the kernel and see if I can change the
: listen/accept semantics. My initial idea is to have the kernel only wake
: up one process for each incoming SYN. Then I'd use the multiple listener
: scheme that Apache uses, without the locking.
see also the paper presented at Usenix Technical Conference 1998:
"Scalable kernel performance for Internet servers under realistic loads"
abstract at
http://www.usenix.org/publications/library/proceedings/usenix98/banga.html
The abstract says they saw up to 58% improvement on throughput.
regards,
Andrew
------------------------------
From: [EMAIL PROTECTED]
Crossposted-To: comp.os.linux.networking
Subject: Re: Using telnet to test inetd services
Date: 28 May 1999 02:30:41 GMT
In article <7iirub$qml$[EMAIL PROTECTED]>, I asked:
>In /etc/services, I add:
> hex 10000/tcp # Hex conversion
>
>In /etc/inetd.conf, I add:
> hex stream tcp nowait root /usr/sbin/tcpd /usr/bin/od -x
>
>Then I SIGHUP inetd, with: killall -HUP inetd
>
>However, testing my new "hex" service with telnet isn't working:
> % telnet localhost hex
> Trying 127.0.0.1...
> Connected to localhost.
> Escape character is '^]'.
> hello world
> ^D
>
>No response at this point. Perhaps telnet isn't up to it, so I try netcat:
> % nc localhost hex
> hello world
> ^D
In article <7iisiu$olb$[EMAIL PROTECTED]>,
Villy Kruse <[EMAIL PROTECTED]> wrote:
>You can't realy send eof from telnet. The only eof you can send is when
>you terminate the telnet connection (hotkey, close). If you do this
>telnet also closes the reads which means you won't se the output from
>the od command that it actually did generate when you closed the telnet
>connection.
OK, I can see that this is a problem; in fact it's mentioned in the netcat
docs. If I pump heaps of data into telnet, then it does indeed process it:
% yes | telnet localhost hex | more
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
0000000 0d79 790a 0a0d 0d79 790a 0a0d 0d79 790a
0000020 0a0d 0d79 790a 0a0d 0d79 790a 0a0d 0d79
...
I'm still confused though as to why netcat doesn't produce any output:
% yes | nc localhost hex
It just sits there; ps shows that od is running and consuming CPU time, but
I never get any output back. Is there some other magic by which people
normally test services spawned by inetd?
Thanks,
Graham
------------------------------
From: "G. Hugh SONG" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc,comp.os.linux.networking
Subject: NFS bug in the new kernels (was Re: NFS with Redhat 6 server and
Date: Fri, 28 May 1999 11:04:24 +0900
[EMAIL PROTECTED] wrote:
>
> >
> > My guess is that we are all using the knfsd package and Kernel-2.2.?.
> > In /usr/src/linux-2.2.?/Documentation/Changes file, it is
> > explicitly stated that "NFS is currently under heavy revision" to
> > work as a kernel-based NFS.
> >
>
> I am seeing problems with the knfs stuff also, but only with some
> clients. An OS/2 box can still mount a file system on the linux
> server normally, but an HP-UX box will show the mount point as
> established but will not be able to see the files. A bdf displays the
> nfs mount and the correct space utilization, even tho the mount dir is
> empty. Without even the . and .. entries.
>
> Any help appreciated,
> rick
I finally figured out the reason of my NFS error messages.
My home directory is in the server machine. I log on to a client
machine accessing my home directory in the server machine.
Then, I issue "su" on the client machine to do "xhost +".
At this point, the root of the client machine has no permission
to stay on the home directory.
With 2.0.35 with nfs, some warning message appeared on screen of the
client machine. Now with /usr/src/linux-2.2.?/fs/nfsd/*.c with knfs,
the error message appears on the *server* machine. Of course, the
desktop user of the server machine has no idea of why he is getting the
"fh_verify permission error" as well as other nasty-looking nfs errors.
I think this is certainly a bug in the 2.2.?-2.3.3 kernels.
Can someone report this to the the appropriate mailing list?
I don't know how.
Regards,
--
G. Hugh Song
Assoc. Professor
Office: +82-62-970-2210
Departmental fax: -2204
PC fax: -2246
Email: [EMAIL PROTECTED]
Department of Information and Communications
Kwangju Institute of Science and Technology
1 Oryong-dong, Buk-gu
Kwangju, 500-712 South KOREA
------------------------------
From: "J.C. Chuang" <[EMAIL PROTECTED]>
Subject: rmdir() source code
Date: 28 May 1999 03:31:02 GMT
Hi, All
In tracing rmdir() system call, I found a line of code that I
don't understand, that is, in do_rmdir(), there is one line as follows:
dentry->d_count++;
I don't understand why it increments d_count, and afterwards, it
doesn't decrement it again, why ? The code won't make the directory to
be removed have inconsistent reference count in d_count ??
------------------------------
From: [EMAIL PROTECTED] (Alexander Viro)
Subject: Re: rmdir() source code
Date: 28 May 1999 00:10:10 -0400
In article <7il2lm$23ba$[EMAIL PROTECTED]>,
J.C. Chuang <[EMAIL PROTECTED]> wrote:
> Hi, All
>
> In tracing rmdir() system call, I found a line of code that I
> don't understand, that is, in do_rmdir(), there is one line as follows:
>
> dentry->d_count++;
> I don't understand why it increments d_count, and afterwards, it
> doesn't decrement it again, why ? The code won't make the directory to
Yes, it does. It's done by dput(dentry); after double_unlock()
--
"You're one of those condescending Unix computer users!"
"Here's a nickel, kid. Get yourself a better computer" - Dilbert.
------------------------------
From: "Yann WANWANSCAPPEL" <[EMAIL PROTECTED]>
Subject: Re: driver needs to find another driver... how??
Date: Thu, 27 May 1999 16:23:38 +0200
Dan Miller a �crit dans le message <7ievlq$[EMAIL PROTECTED]>...
>I'm writing a linkage driver that needs to hook up to another device driver
>in the system.
>As currently written, the major and minor numbers of the target device must
>be passed
>to the link driver when it is loaded, as arguments to insmod. I find this
>annoying, since
>the required information is already available from the device node.
>Unfortunately,
>NONE of the normal functions for getting information from the device node
>seem to be
>valid in a device driver; stat(), open(), etc are all undefined. When I
try
>to include
>sys/stat.h, I get tons of duplicate definitions and other problems.
>
You can find open, close, read, ... kernel level equivalent function in fs
subdirectory
For example, you can find sys_open function , equivalent to user level open
in open.c, etc
there are two important things to know to be able to use theses functions
* first : most of them don't appear in kernel public symbol table (look at
/proc/ksyms)
if you use a non exported function in your module, you'll have to modify
ksyms.c in kernel
directory so as to add it to kernel public symbol table (something like
X(sys_ioctl))
you'll probably have to modify some headers (fs.h) in order to add their
prorotypes
then, you'll have to rebuild the kernel
* second : these functions are designed to be called from user mode (they
expect their argument to
be in fs segment). When you call them from kernel level, you have to
modify fs to reference ds.
you can find an example of this manipulation in driver/sound directory
(kernel 2.0.36), I don't remember
exactly where.
It should look like something like this :
unsigned long fs = get_fs();
set_fs(get_ds());
// function call
set_fs(fs);
I'm not sure it's the cleaner way to do things, but I sucessfully use
them till now.
Hope this helps you.
Yann WANWANSCAPPEL (France)
>Is there some other way that I can find these values?? I only need them
for
>get_tty_driver(), which gives me the tty information for the target device.
>It seems reallly odd that a device driver can't determine device
>information...
>
> Dan Miller the confused
>
>
>
------------------------------
** 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 (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
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
******************************