From: pmkernel@gmail.com (piyush moghe)
To: kernelnewbies@lists.kernelnewbies.org
Subject: scheduling - more doubts
Date: Mon, 7 Mar 2011 15:12:53 +0530 [thread overview]
Message-ID: <AANLkTimXd4AtkBU2foSN2f9awcr7h7nDFRoMynwCfE4R@mail.gmail.com> (raw)
In-Reply-To: <F33E903632029D4E9419A43DEDED660F059D4598@CCN-IPK-MBX01.wipro.com>
Hi Sudheer,
If you see there is a schedule_timeout function called with some timeout
so if you receive any signal ( handled by apm_event_handler ) before the
timeout value it will be woken up and if it receives no signal before
timeout value than scheduler will move this to RUNNABLE state again.
Regards,
Piyush
On Thu, Mar 3, 2011 at 5:20 PM, <sudheer.divakaran@wipro.com> wrote:
> Hi,
>
> I had asked a similar question before, but I've some doubts regarding the
> correctness of the following code. Please see the following code snippet
> from the file linux-2.6.37/arch/x86/kernel/apm_32.c. This is the core
> function of apm thread.
>
>
> Question:
> Suppose the apm thread has just completed execution of the line 1442 and
> the scheduling happens for some reason, AFAIK, since the apm thread's state
> has been set to TASK_INTERRUPTIBLE, it will be removed from the run-queue.
> So there is a chance for the apm thread to remain suspended indefinitely as
> nobody is there to wakeup the apm thread, correct?
>
> I'm asking this because the same function has been given as an example in
> the following link and would like to confirm the accuracy of the example.
>
> http://www.linuxjournal.com/node/8144/print
>
>
>
> 1437 static void apm_mainloop(void)
> 1438 {
> 1439 DECLARE_WAITQUEUE(wait, current);
> 1440
> 1441 add_wait_queue(&apm_waitqueue, &wait);
> 1442 set_current_state(TASK_INTERRUPTIBLE);
> 1443 for (;;) {
> 1444 schedule_timeout(APM_CHECK_TIMEOUT);
> 1445 if (kthread_should_stop())
> 1446 break;
> 1447 /*
> 1448 * Ok, check all events, check for idle (and mark us sleeping
> 1449 * so as not to count towards the load average)..
> 1450 */
> 1451 set_current_state(TASK_INTERRUPTIBLE);
> 1452 apm_event_handler();
> 1453 }
> 1454 remove_wait_queue(&apm_waitqueue, &wait);
> 1455 }
>
>
> --
> Thanks,
> Sudheer
>
> * Please do not print this email unless it is absolutely necessary. *
>
> The information contained in this electronic message and any attachments to
> this message are intended for the exclusive use of the addressee(s) and may
> contain proprietary, confidential or privileged information. If you are not
> the intended recipient, you should not disseminate, distribute or copy this
> e-mail. Please notify the sender immediately and destroy all copies of this
> message and any attachments.
>
> WARNING: Computer viruses can be transmitted via email. The recipient
> should check this email and any attachments for the presence of viruses. The
> company accepts no liability for any damage caused by any virus transmitted
> by this email.
>
> www.wipro.com
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110307/0eea94db/attachment.html
next prev parent reply other threads:[~2011-03-07 9:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <AcvZmTBTVk7OqpC5TKq9iaODLGxmJA==>
2011-03-03 11:50 ` scheduling - more doubts sudheer.divakaran at wipro.com
2011-03-07 9:42 ` piyush moghe [this message]
2011-03-07 10:09 ` Sudheer
2011-03-14 6:24 ` Sudheer
2011-03-15 11:49 ` Tharindu Rukshan Bamunuarachchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTimXd4AtkBU2foSN2f9awcr7h7nDFRoMynwCfE4R@mail.gmail.com \
--to=pmkernel@gmail.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).