Re: kernel preemption does not work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Peter Teoh wrote:
On Thu, Apr 10, 2008 at 3:32 PM, bhanu nani <bhanu.lnxnew@xxxxxxxxx> wrote:
  
Hi all,

 I am trying to test kernel preemption in my driver. When I first
 compiled the Linux kernel and tested it, I found it to be
 non-preemptible. Later I realised that my kernel was build with
 premption disabled. I enabled kernel premption in processort section
 i.e. CONFIG_PREEMPT and rebuild it.
    

First time I read this article:
http://www.linuxdevices.com/articles/AT8211887833.html
and I learned tons a lot.

And this:

http://www.ussg.iu.edu/hypermail/linux/kernel/0403.2/0545.html

So I think advisable NOT to set CONFIG_PREEMPT.

  
 Even with change in the kernel preemption does not work. I am trying
 it on my latest stable kernel.

 Test code:
 --------------
 read()
 {
   if(down_interruptible())
           return error;
   mdelay(10000);
   up();
 }

 With this code in place, I try to do a 'CTRL+C' when it hangs at that delay.
    

As what Mulyadi has asked, how can u enter ctrl-C to some program that
u write in userspace, and expect it to stop a kernelspace module (from
the API u used above)?

Are u doing some kind of UML?

  
 It does not respond to my 'CTRL + C'.

 Where am I missing the preemption thing in the kernel?

 Regards,
 Bhanu J

 --
 To unsubscribe from this list: send an email with
 "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
 Please read the FAQ at http://kernelnewbies.org/FAQ


    

Yeah, FWIW, none of the server distros compile preemption in; it's only really for desktop responsiveness, and even then, I think its value may be marginal (at this time - I think it will mature).  I'm not sure exactly how it works, but there is also a BIG_KERNEL_LOCK or something to that effect... that's probably a spinlock thing.  I've never ventured to that part of the code base, yet.  Peter, do you know anything about it?  I think it showed up last summer or so as an unstable compile option.  Or, that's the first time I stumbled upon it :)

Are you sure that they keyboard IRQs aren't masked?  I think PCI steering reroutes them to like IRQ 17 or so, but they should be on a shared IRQ, IIRC.
begin:vcard
fn:Scott Lovenberg
n:Lovenberg;Scott
org:The CleftStone Works
adr:;;;Kutztown;PA;19530;USA
email;internet:scott.lovenberg@xxxxxxxxx
tel;cell:570-856-2999
note;quoted-printable:Interests:=0D=0A=
	Programming, *NIX, Slackware, Samba, C/C++, Perl, Java, .NET, Kernel Hack=
	ing, Virtual Machines, FOSS, Security, Operating Systems, Various Softwar=
	e Stacks.  =
	=0D=0A=
	=0D=0A=
	Always have time for "shop talk"; feel free to drop me a line.
x-mozilla-html:TRUE
url:www.cleftstoneworks.com
version:2.1
end:vcard


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux