Linux-Development-Sys Digest #620, Volume #8 Mon, 9 Apr 01 09:13:07 EDT
Contents:
Re: cpu scheduling problem (Kasper Dupont)
How to set PATH env variable ("robert arctor")
Re: How to set PATH env variable (jtnews)
Mesa 3.0 libGLw on Caldera OpenLinux eDesktop 2.4 (Rene Girard)
setitimer() problem on linux (Matthew Gatto)
Re: 2.4 kernels ("Peter T. Breuer")
Re: How to set PATH env variable ("Norm Dresner")
process becomes [process] (Chris Lo)
Re: process becomes [process] (Samuel Hocevar)
Re: How to set PATH env variable (Frank Ranner)
Re: bootsect.S and AT&T Assembly
iptables - source? ("Steven J. Hathaway")
Re: bootsect.S and AT&T Assembly (Tim Roberts)
Re: iptables - source? ("Fruitbat")
Re: Win Modems ("LittleFish")
Kernel mode to User Mode (Mikael Chambon)
Re: Signal, Kernel and Co (Mikael Chambon)
kernel 2.4.2 and wrong file time stamps (Ulrich Lauther)
Re: Need suggestions please (Kasper Dupont)
----------------------------------------------------------------------------
From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: cpu scheduling problem
Date: Sun, 08 Apr 2001 14:44:54 +0000
[EMAIL PROTECTED] wrote:
>
[...]
>
> If you look into the source code, you can find the fact that when a new
> process enters runqueue, it is located at the tail of the queue.
>
[...]
Where do you find that fact? When I look in the source
i find exactly the oposite. This is how add_to_runqueue
in kernel/sched.c looks:
/*
* Careful!
*
* This has to add the process to the _beginning_ of the
* run-queue, not the end. See the comment about "This is
* subtle" in the scheduler proper..
*/
static inline void add_to_runqueue(struct task_struct * p)
{
list_add(&p->run_list, &runqueue_head);
nr_running++;
}
--
Kasper Dupont
------------------------------
From: "robert arctor" <[EMAIL PROTECTED]>
Subject: How to set PATH env variable
Date: Sun, 8 Apr 2001 18:05:23 +0100
Hi
Could somebody please post how to permanently change the PATH environment
variable.
Thanks in advance.
Rob
------------------------------
From: jtnews <[EMAIL PROTECTED]>
Subject: Re: How to set PATH env variable
Date: Sun, 08 Apr 2001 17:43:40 GMT
robert arctor wrote:
>
> Hi
>
> Could somebody please post how to permanently change the PATH environment
> variable.
>
> Thanks in advance.
>
> Rob
export PATH=/newpath/bin:$PATH
in bash.
------------------------------
From: Rene Girard <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.misc,comp.os.linux.development.apps,comp.os.linux.setup,comp.os.linux.x
Subject: Mesa 3.0 libGLw on Caldera OpenLinux eDesktop 2.4
Date: Sun, 08 Apr 2001 17:56:15 GMT
If this message is in the wrong newsgroup please let me know and
disregards what follows.
Platform: P166 with 80MB RAM; OS: Caldera Openlinux eDesktop 2.4
Software: OpenGL and Mesa 3.0
I am trying to compile an OpenGL demo program call "gears" and the link
step indicated that
the library "libGLw" is missing in the /usr/X11R6/lib directory. This
demo program is part of the "vopengl" demo programs of the C C++ Gui
Framework by Bruce E. Wampler.
The other OpenGL libraries (libMesaGL, libMesaGLU and libglut) are
present. I found the sources files and header files with the "GLw "
prefix to compile them and create the libGLw library (both static and
shared). To build the static version of the library I simply compile the
files and used the command "ar ruv libGLw.a + the list of object
files" followed by the "ranlib libGLw.a" command. To build the shared
version, I compile using the -fpic option folowed by another
compilation with the option -shared. After creating the libraries I
copied them to the /usr/X11R6/lib directory, established the necessary
symbolic links, change owner, group and permission to be the same as the
other OpenGL libraries.
When I try to compile and link a demo OpenGL program called "gears", the
compilation steps goes well but at the linking step I get two messages:
undefined reference to "glwDrawingAreaWidgetClass"
undefined reference to "mesaDrawingAreaWidgetClass"
I checked the source code that I used to build libGLw and I see those
variables/class names (?)
so I presumed they are defined but in fact they are not.
I would like to have some indication why I get those messages. What did
I do wrong ? I do not know what to do next I tried many things but no
luck. To save me time and difficulty I would like know were I could find
binary version of "libGLw" in static and shared versions for Caldera
OpenLinux eDesktop 2.4. That library was not in my installation
originally. I went on Caldera System WEb site and was not able to find
it there either.
If the information above is not complete enough, I can send more but I
did not want to put a large amount of material on the newsgroup.
Any help on the above matter would be greatly appreciated.
Thank you in advance for your help.
------------------------------
From: [EMAIL PROTECTED] (Matthew Gatto)
Subject: setitimer() problem on linux
Date: Sun, 08 Apr 2001 18:29:34 GMT
I wrote a simple process scheduling shell for school, that I developed
on a SUN-OS Unix server. The program works fine there, but on my home
linux computer, it is hanging during a setitimer() call.
After selecting a child process to give a timeslice to, it sends it
the start signal then does the following code (that should pause a
short time, and then wake up and continue executing the process
scheduler).
the struct itimerval was initialized as follows at the begining of the
program:
struct itimerval new;
new.it_interval.tv_usec = 0;
new.it_interval.tv_sec = 0;
new.it_value.tv_usec = 600;
new.it_value.tv_sec = 0;
and the sigaction initialised as follows:
struct sigaction action;
sigfillset(&(action.sa_mask));
action.sa_handler=do_nothing; /* do_nothing(), is as the name
indicates, an empty function */
sigaction(SIGALRM, &action, NULL);
and during the scheduling loop the following code gets executed:
/* start the timer */
if (DEBUG ==1)
{ printf("about to set itimer\n"); }
setitimer(ITIMER_REAL, &new, NULL);
if (DEBUG == 1)
{ printf("itimer set, about to pause()!"); }
pause();
it hangs consistently on the first or second time (on linux at least)
through this code block. it will print out
$
about to set itimer
itimer set, about to pause()!
about to set itimer
and then hang indefinately.. not responding to any signals
(SIGINT,SIGTSTP,SIGCONT,etc). if I do a ps -el on another terminal, it
shows the program's WCHAN as doing a "pause". does anyone know why
this could be? or what i could be doing something wrong? i am truly
clueless.
I posted the code here:
http://www.ductape.net/~gatto/scheduler/
The timer call that hangs is in
http://www.ductape.net/~gatto/scheduler/main.c
------------------------------
From: "Peter T. Breuer" <[EMAIL PROTECTED]>
Subject: Re: 2.4 kernels
Date: Mon, 9 Apr 2001 00:35:59 +0200
Mike Austin <[EMAIL PROTECTED]> wrote:
> Is there a good guide on 2.4 device drivers, or a porting guide for porting
> a device driver from 2.2 to 2.4? Specifically, block devices? I haven't
Read some of the other block devices.
> been able to find a good guide, and I would like one before the second
> edition of "Linux Device Drivers" comes out. Thank you!
When I ported a device driver forward, it took a couple of days for
the initial work. Yes, I would have appreciated a guide, but anyone
who can write a driver won't be stopped by "only" having the code
available. You shouldn't find it too hard.
What I DO want explained is some of this buffer voodoo.
Peter
------------------------------
From: "Norm Dresner" <[EMAIL PROTECTED]>
Subject: Re: How to set PATH env variable
Date: Mon, 09 Apr 2001 00:22:39 GMT
jtnews <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> robert arctor wrote:
> >
> > Hi
> >
> > Could somebody please post how to permanently change the PATH
environment
> > variable.
> >
> > Thanks in advance.
> >
> > Rob
>
> export PATH=/newpath/bin:$PATH
>
> in bash.
In csh & friends
set path=( $path /usr/local/bin )
for example.
Norm
------------------------------
Date: Mon, 09 Apr 2001 10:17:23 +0800
From: Chris Lo <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc
Subject: process becomes [process]
Hi,
We run RH6.2 with Oracle. For most Oracle server processes, they all
look
alikie
ora_pmon_SID
ora_smon_SID
but sometimes when the server is busy, the ps will only list them as
[oracle].
This fails our monitoring scripts. Has anyone come across this and have
a fix for
it?
Thanks & Regards,
Chris
------------------------------
From: [EMAIL PROTECTED] (Samuel Hocevar)
Crossposted-To: comp.os.linux.misc
Subject: Re: process becomes [process]
Date: 9 Apr 2001 02:40:36 GMT
On Mon, 09 Apr 2001 10:17:23 +0800,
Chris Lo <[EMAIL PROTECTED]> wrote:
> but sometimes when the server is busy, the ps will only list them as
> [oracle].
>
> This fails our monitoring scripts. Has anyone come across this and have
> a fix for it?
You are probably calling ps with the wrong flags. Try `ps aucxw'.
Sam.
--
Samuel Hocevar <[EMAIL PROTECTED]> <http://sam.zoy.org/>
for DVDs in Linux screw the MPAA and ; do dig $DVDs.z.zoy.org ; done | \
perl -ne 's/\.//g; print pack("H224",$1) if(/^x([^z]*)/)' | gunzip
------------------------------
From: Frank Ranner <[EMAIL PROTECTED]>
Subject: Re: How to set PATH env variable
Date: Mon, 09 Apr 2001 12:57:31 +1000
robert arctor wrote:
>
> Hi
>
> Could somebody please post how to permanently change the PATH environment
> variable.
>
> Thanks in advance.
>
> Rob
If you want to change it for all users, modify /etc/bashrc.
Alternately (better,) add a script to /etc/profile.d like this
#/etc/profile.d/java.sh
if ! echo $PATH | grep -q "/opt/IBMJava2-13/jre/bin" ; then
PATH="$PATH:/opt/IBMJava2-13/bin:/opt/IBMJava2-13/jre/bin"
fi
==================
Call it whatever you like, with a .sh suffix. For completeness you
should
do a .csh version as well. Don't forget to 'chmod +x' your script to
make
it executable, as the call from /etc/profile selects only scripts that
are
executable.
For a single user, use .profile in the home directory to set PATH
Regards, Frank Ranner
------------------------------
From: <[EMAIL PROTECTED]>
Subject: Re: bootsect.S and AT&T Assembly
Date: Mon, 09 Apr 2001 03:30:04 -0000
Actually, on my first question, the thing that I'm not so clear is the '-
12'. Is this an initialization value ? Or does it mean to subtract 0x12
from 0x4000. If so then why not just write the difference 0x3FEE.
Tks.
Lee Ho wrote:
>
>
> [EMAIL PROTECTED] Wrote:
> >2 Questions:
>
>
> In Linux 2.2, 16 bit assembly code (bootsect.S, for example)
> doesn't follow AT&T syntax. In Linux 2.4, it follows AT&T syntax.
> I think following code is that of Linux 2.2
>
> >
> >(1) What kind of addressing mode is this? What does it mean ?
> >
> > mov di,#0x4000-12
>
>
> no addressing mode. # means immediate value
>
> >(2) I can't seem to find this instruction set anywhere. What does it
do ?
> >
> > seg fs
> >
>
>
> seg means segment overriding.
>
> seg fs
> mov (bx),di
>
> is same as
>
> mov fs:[bx], di
>
> in Intel syntax.
>
> *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
> Lee, Ho. Software Engineer, Embedded Linux Dep, LinuxOne
> Mail : [EMAIL PROTECTED] (work), [EMAIL PROTECTED] (personal)
> Homepage : http://flyduck.com, http://linuxkernel.to
>
>
>
>
--
Posted via CNET Help.com
http://www.help.com/
------------------------------
Date: Sun, 08 Apr 2001 21:09:13 -0800
From: "Steven J. Hathaway" <[EMAIL PROTECTED]>
Subject: iptables - source?
Where can one obtain the source for iptables. I am looking for the
administrative
application tools, not the kernel module.
Sincerely,
Steven J. Hathaway
------------------------------
From: Tim Roberts <[EMAIL PROTECTED]>
Subject: Re: bootsect.S and AT&T Assembly
Date: Sun, 08 Apr 2001 22:27:23 -0700
<[EMAIL PROTECTED]> wrote:
>Actually, on my first question, the thing that I'm not so clear is the '-
>12'. Is this an initialization value ? Or does it mean to subtract 0x12
>from 0x4000. If so then why not just write the difference 0x3FEE.
It means to subtract DECIMAL 12. So #0x4000-12 is 0x3FF4.
Why? Usually for documentation reasons. For example, if I had a stack
that started at 0x4000 and grew downward, and I wanted to refer to the 12th
byte that was pushed on that stack, #0x4000-12 describes that byte more
meaningfully than 0x3ff4.
Computers are very good at integer math. Why should I do something it can
do so well?
--
- Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.
------------------------------
From: "Fruitbat" <[EMAIL PROTECTED]>
Subject: Re: iptables - source?
Date: Mon, 09 Apr 2001 05:46:51 GMT
Try netfilter.kernelnotes.org
"Steven J. Hathaway" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> Where can one obtain the source for iptables. I am looking for the
> administrative
> application tools, not the kernel module.
>
> Sincerely,
> Steven J. Hathaway
>
------------------------------
From: "LittleFish" <littlefish_au[SPAM ME AT YOUR OWN RISK]@yahoo.com>
Crossposted-To:
alt.computer.drivers,alt.os.linux,aus.computers.linux,comp.os.linux.development.apps,comp.os.linux.hardware
Subject: Re: Win Modems
Date: Mon, 9 Apr 2001 16:40:36 +1000
Thanks too Anthony!! I have purchased stuff from www.everythinglinux.com.au.
before and found there service great!
Thanks again
Littlefish
<[EMAIL PROTECTED]> wrote in message
news:33iz6.7541$[EMAIL PROTECTED]...
> In aus.computers.linux LittleFish <littlefish_au[SPAM ME AT YOUR OWN
RISK]@yahoo.com> wrote:
> > It seems as if more and more people using Windows
> > are very dissapointed over the performance of there Lucent Winmodems. In
the
> > last week I have met 3 people that have taken back there Lucent Winmodem
> > because it drops out regularly. If your machine is slower 300Mhz or is
> > running a CPU intensive task in the background you can bet that it will
drop
> > out. Give me a real modem anyday!! By the way real internal modems are
> > getting hard to source. Does anyone have suggestions for a Internal Fax
> > Voice Data modem?
>
> The Actiontec Internal PCI 56k modem at www.everythinglinux.com.au.
> It's an internal "Firmware" modem.. The manual that comes with it
> even includes instructions on how to use /proc/pci and "setserial"
> to get it to work in Linux.
>
> --
> Anthony Rumble
------------------------------
From: Mikael Chambon <[EMAIL PROTECTED]>
Subject: Kernel mode to User Mode
Date: Mon, 09 Apr 2001 12:52:55 +0200
Hi,
Could someone explain me clearly what is the difference between the
kernel mode and user mode ??
In the book "Understanding the linux kernel p 252", I road that
the kernel checks if a signal has arrived when switching from user
mode to kernel mode.
Can someone give me the .c file where this is done ?? I would like
to add something..
Thanks for all,
Mikael Chambon
------------------------------
From: Mikael Chambon <[EMAIL PROTECTED]>
Subject: Re: Signal, Kernel and Co
Date: Mon, 09 Apr 2001 12:53:32 +0200
DongKook Park wrote:
>
> "The kernel checks whether a signal for any process has arrived when
> switching from Kernel Mode to User mode... (roughly every 10ms)"
>
> above statement is from 'Understanding the Linux Kernel p.252)
>
> Any signal sent is maintained by p->signal...
> *^^*;;
>
> "Mikael Chambon" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
> > Hi,
> >
> > I am trying to understand how a signal can received by a process.
> > I think I've mostly understood everything about the sending
> > step, but after send_sig_info() did a sigaddset and put
> > p->sigpending = 1 (p is a pointer to the target task_struct)
> > how the kernel now that a signal has arrived on the target process ?
> >
> > What is the link with the ret_from_intr() and do_signal functions ??
> >
> >
> > Thanks if you can help me.
> > --
> > Mikael Chambon | Paris France | ICQ 10249913
thanks
--
Mikael Chambon | Paris France | ICQ 10249913
HOME => [EMAIL PROTECTED]
WORK => [EMAIL PROTECTED] or call (651) 415 4299
SCHOOL => [EMAIL PROTECTED]
------------------------------
From: Ulrich Lauther <[EMAIL PROTECTED]>
Subject: kernel 2.4.2 and wrong file time stamps
Date: 9 Apr 2001 12:10:56 GMT
Reply-To: [EMAIL PROTECTED]
when I unmount and remount a vfat file system, I get a change in
modification times of a file:
Script started on Mon Apr 9 13:59:26 2001
sh-2.03# uname -a
Linux tahiti 2.4.2 #7 Mon Mar 26 23:50:57 CEST 2001 i686 unknown
sh-2.03# touch /dos/fudge
sh-2.03# ls -l /dos/fudge
-rwxrwxrwx 1 root root 0 Apr 9 13:59 /dos/fudge
sh-2.03# date
Mon Apr 9 14:00:03 CEST 2001
sh-2.03# umount /dos
sh-2.03# mount /dos
sh-2.03# ls -l /dos/fudge
-rwxrwxrwx 1 root root 0 Apr 9 14:59 /dos/fudge
sh-2.03# exit
Script done on Mon Apr 9 14:01:39 2001
This is the fstab:
/dev/hda6 / ext2 defaults 1 1
/dev/hda5 /boot ext2 defaults 1 1
/dev/hda1 /dos vfat noauto,umask=0,defaults 1 0
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
The problem does not occur with 2.2.17 on the same system.
The clock was set using clock -s -u
Any clues?
--
-lauther
[nosave]
============================================================================
Ulrich Lauther ph: +49 89 636 48834 fx: ... 636 42284
Siemens CT SE 6 Internet: [EMAIL PROTECTED]
------------------------------
From: Kasper Dupont <[EMAIL PROTECTED]>
Subject: Re: Need suggestions please
Date: Mon, 09 Apr 2001 13:08:05 +0000
Michael Jordan wrote:
>
> Hi,
>
> I am toying with parport io. Is there some way that I could insert a
> printk in my kernel source so that I could have syslogd print out in the
> logs anytime an inb and outb are executed? I tried inserting some printk's
> in /usr/include/sys/io.h, and re-compiled the kernel, to no effect. :(
>
> Do I perhaps need to modify asm-i386/io.h?
>
> Any suggestions would be appreciated. Or perhaps a different route to take
> to accomplish the same thing . . . ?
>
> BTW, I'm working with 2.2.17.
>
> Thanks in advance.
> --
> Michael Jordan
>
> [EMAIL PROTECTED]
Maybe you changed the wrong header file.
There is an include directory in the kernel
source directory, change the header file in
that directory.
Notice that there is also some port access
in a few assembler files, the I/O from these
files will not result in any printk.
Calling printk on every I/O can be dangerous.
Some devices may be sensitive to timings, the
printk calls can cause huge changes in
timings. Also notice that if printk or any
function called by printk needs to do port
I/O this will result in infinite recursion.
Another approach could be to run the kernel
under an emulator with build in debuging.
This will solve the infinite recursion
problem, and might make lot of other things
easier.
Does anybody know which emulator would be
good for this kind of experiments?
--
Kasper Dupont
------------------------------
** 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
******************************