xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: "michele.paolino" <michele.paolino@studio.unibo.it>
Cc: "Xen-devel@lists.xensource.com" <Xen-devel@lists.xensource.com>
Subject: Re: simple scheduler
Date: Thu, 18 Feb 2010 16:55:57 +0000	[thread overview]
Message-ID: <4B7D711D.6010909@eu.citrix.com> (raw)
In-Reply-To: <14f366f91002180851i2dbb2a57v1e4f0c7e005d05fd@mail.gmail.com>

You want to raise it every time a vcpu wakes up. 

vcpus often sleep when there is nothing to do, waiting for an interrupt 
/ event to be delivered.  When an event is delivered, Xen will run 
vcpu_wake(), and consider the matter done.

 Which means your simple scheduler needs to handle the wake() callback, 
and at some point raise the schedule softirq for the appropriate 
processor so that the vcpu in question can run.

 -George

michele.paolino wrote:
> Thanks George, now it works! In my code SCHEDULE_SOFTIRQ is never getting
> raised. Now I raise it in add_vcpu function. Is this the best place to raise
> SCHEDULE_SOFTIRQ?
> Michele
>
> On Wed, Feb 17, 2010 at 12:43 PM, George Dunlap <George.Dunlap@eu.citrix.com
>   
>> wrote:
>>     
>
>   
>> Did you add a printk to your schedule() function to see if it's getting
>> called?
>>
>> schedule() is called from within the SCHEDULE_SOFTIRQ.  Look at
>> xen/common/sched_credit.c.  When is SCHEDULE_SOFTIRQ getting raised?
>> Are you doing that in your scheduler?
>>
>>  -George
>>
>> On Tue, Feb 16, 2010 at 6:29 PM, Pasi Kärkkäinen <pasik@iki.fi> wrote:
>>     
>>> On Tue, Feb 16, 2010 at 07:18:00PM +0100, michele.paolino wrote:
>>>       
>>>>    Thanks for the istructions,
>>>>    I have read that thread but is not useful for me. I have compiled and
>>>>    installed the round robin scheduler of that thread. Both schedulers
>>>>         
>> have
>>     
>>>>    the same behavior. Following your advice I have set up a serial
>>>>         
>> console. I
>>     
>>>>    have attached serial console's log along with this mail. As I
>>>>         
>> supposed,
>>     
>>>>    dom0 doesn't start.
>>>>
>>>>         
>>> Please paste your grub.conf.
>>>
>>> It could be that your dom0 kernel is not configured to use the serial
>>>       
>> console.
>>     
>>> -- Pasi
>>>
>>>       
>>>>    Michele
>>>>
>>>>    On Mon, Feb 15, 2010 at 7:54 PM, Pasi Kärkkäinen <[1]pasik@iki.fi>
>>>>         
>> wrote:
>>     
>>>>      On Mon, Feb 15, 2010 at 01:59:06PM +0000, George Dunlap wrote:
>>>>      > Do you have a serial console set up?
>>>>      >
>>>>
>>>>      If not, instructions here:
>>>>      [2]http://wiki.xensource.com/xenwiki/XenSerialConsole
>>>>      -- Pasi
>>>>      > You may want to skim this thread:
>>>>      >
>>>>       [3]
>>>>         
>> http://lists.xensource.com/archives/html/xen-devel/2009-04/msg01086.html
>>     
>>>>      > to see if any of the advice given there is useful.
>>>>      >
>>>>      >  -George
>>>>      >
>>>>      > On Mon, Feb 15, 2010 at 1:19 PM, michele.paolino
>>>>      > <[4]michele.paolino@studio.unibo.it> wrote:
>>>>      > > Hi! I'm writing a simple scheduler to study the xen scheduler
>>>>      interfaces.
>>>>      > > I am able to compile and install it. After reboot when I try to
>>>>      select
>>>>      > > sched=simple, the system gets ready to boot and then everything
>>>>         
>> goes
>>     
>>>>      blank.
>>>>      > > I think that dom0 don't start. I can't be able to solve this
>>>>      problem, can
>>>>      > > anybody help me?
>>>>      > > I have attached my simple scheduler code along with this mail.
>>>>      > >
>>>>      > > Thanks,
>>>>      > > Michele
>>>>      > >
>>>>      > > _______________________________________________
>>>>      > > Xen-devel mailing list
>>>>      > > [5]Xen-devel@lists.xensource.com
>>>>      > > [6]http://lists.xensource.com/xen-devel
>>>>      > >
>>>>      > >
>>>>      >
>>>>      > _______________________________________________
>>>>      > Xen-devel mailing list
>>>>      > [7]Xen-devel@lists.xensource.com
>>>>      > [8]http://lists.xensource.com/xen-devel
>>>>
>>>> References
>>>>
>>>>    Visible links
>>>>    1. mailto:pasik@iki.fi
>>>>    2. http://wiki.xensource.com/xenwiki/XenSerialConsole
>>>>    3.
>>>>         
>> http://lists.xensource.com/archives/html/xen-devel/2009-04/msg01086.html
>>     
>>>>    4. mailto:michele.paolino@studio.unibo.it
>>>>    5. mailto:Xen-devel@lists.xensource.com
>>>>    6. http://lists.xensource.com/xen-devel
>>>>    7. mailto:Xen-devel@lists.xensource.com
>>>>    8. http://lists.xensource.com/xen-devel
>>>>         
>>>>  __  __            _____ _  _    ____
>>>>  \ \/ /___ _ __   |___ /| || |  |___ \
>>>>   \  // _ \ '_ \    |_ \| || |_   __) |
>>>>   /  \  __/ | | |  ___) |__   _| / __/
>>>>  /_/\_\___|_| |_| |____(_) |_|(_)_____|
>>>>
>>>> (XEN) Xen version 3.4.2 (root@) (gcc version 4.2.4 (Ubuntu
>>>>         
>> 4.2.4-1ubuntu4)) Mon Feb 15 15:12:25 CET 2010
>>     
>>>> (XEN) Latest ChangeSet: unavailable
>>>> (XEN) Command line: dom0_mem=262144 sched=simple loglvl=all
>>>>         
>> guest_loglvl=all com1=115200,8n1 console=com1
>>     
>>>> (XEN) Video information:
>>>> (XEN)  VGA is text mode 80x25, font 8x16
>>>> (XEN) Disc information:
>>>> (XEN)  Found 1 MBR signatures
>>>> (XEN)  Found 1 EDD information structures
>>>> (XEN) Xen-e820 RAM map:
>>>> (XEN)  0000000000000000 - 000000000009f000 (usable)
>>>> (XEN)  000000000009f000 - 00000000000a0000 (reserved)
>>>> (XEN)  00000000000e8000 - 0000000000100000 (reserved)
>>>> (XEN)  0000000000100000 - 000000003fff0000 (usable)
>>>> (XEN)  000000003fff0000 - 0000000040000000 (ACPI data)
>>>> (XEN)  00000000fffbc000 - 0000000100000000 (reserved)
>>>> (XEN) System RAM: 1023MB (1048124kB)
>>>> (XEN) ACPI: RSDP 000FBDB0, 0014 (r0 QEMU  )
>>>> (XEN) ACPI: RSDT 3FFF0000, 0034 (r1 QEMU   QEMURSDT        1 QEMU
>>>>         
>>  1)
>>     
>>>> (XEN) ACPI: FACP 3FFF01B4, 0074 (r1 QEMU   QEMUFACP        1 QEMU
>>>>         
>>  1)
>>     
>>>> (XEN) ACPI: DSDT 3FFF0280, 1DD4 (r1   BXPC   BXDSDT        1 INTL
>>>>         
>> 20090521)
>>     
>>>> (XEN) ACPI: FACS 3FFF0240, 0040
>>>> (XEN) ACPI: SSDT 3FFF2054, 09E3 (r1   BXPC   BXSSDT        1 INTL
>>>>         
>> 20090521)
>>     
>>>> (XEN) ACPI: APIC 3FFF2A38, 00EA (r1 QEMU   QEMUAPIC        1 QEMU
>>>>         
>>  1)
>>     
>>>> (XEN) ACPI: HPET 3FFF2B90, 0038 (r1 QEMU   QEMUHPET        1 QEMU
>>>>         
>>  1)
>>     
>>>> (XEN) NUMA turned off
>>>> (XEN) Faking a node at 0000000000000000-000000003fff0000
>>>> (XEN) Xen heap: 9MB (9808kB)
>>>> (XEN) Domain heap initialised
>>>> (XEN) found SMP MP-table at 000fbc90
>>>> (XEN) DMI 2.4 present.
>>>> (XEN) Using APIC driver default
>>>> (XEN) ACPI: PM-Timer IO Port: 0xb008
>>>> (XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[b004,0], pm1x_evt[b000,0]
>>>> (XEN) ACPI:                  wakeup_vec[3fff024c], vec_size[20]
>>>> (XEN) ACPI: Local APIC address 0xfee00000
>>>> (XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
>>>> (XEN) Processor #0 6:2 APIC version 20
>>>> (XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x08] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x09] lapic_id[0x09] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x0a] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x0b] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x0c] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x0d] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x0e] disabled)
>>>> (XEN) ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x0f] disabled)
>>>> (XEN) ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
>>>> (XEN) IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
>>>> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
>>>> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
>>>> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
>>>> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
>>>> (XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
>>>> (XEN) ACPI: IRQ0 used by override.
>>>> (XEN) ACPI: IRQ2 used by override.
>>>> (XEN) ACPI: IRQ5 used by override.
>>>> (XEN) ACPI: IRQ9 used by override.
>>>> (XEN) ACPI: IRQ10 used by override.
>>>> (XEN) ACPI: IRQ11 used by override.
>>>> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
>>>> (XEN) ACPI: HPET id: 0x8086a201 base: 0xfed00000
>>>> (XEN) Using ACPI (MADT) for SMP configuration information
>>>> (XEN) Using scheduler: Very simple Scheduler (simple)
>>>> (XEN)
>>>> (XEN)
>>>> (XEN) add VCPU 0
>>>> (XEN)
>>>> (XEN) Initializing CPU#0
>>>> (XEN) Detected 2533.353 MHz processor.
>>>> (XEN) CPU: L1 I cache: 32K, L1 D cache: 32K
>>>> (XEN) CPU: L2 cache: 2048K
>>>> (XEN) Intel machine check reporting enabled on CPU#0.
>>>> (XEN) CMCI: CPU0 has no CMCI support
>>>> (XEN) CPU0: Intel QEMU Virtual CPU version 0.11.0 stepping 03
>>>> (XEN) Total of 1 processors activated.
>>>> (XEN) ENABLING IO-APIC IRQs
>>>> (XEN)  -> Using new ACK method
>>>> (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
>>>> (XEN) BAD HPET revision id.
>>>> (XEN) Platform timer is 3.579MHz ACPI PM Timer
>>>> (XEN) Brought up 1 CPUs
>>>> (XEN) I/O virtualisation disabled
>>>> (XEN) CPUIDLE: disabled due to no HPET. Force enable with 'cpuidle'.
>>>> (XEN) ACPI sleep modes: S3
>>>> (XEN) mcheck_poll: Machine check polling timer started.
>>>> (XEN) *** LOADING DOMAIN 0 ***
>>>> (XEN)  Xen  kernel: 32-bit, PAE, lsb
>>>> (XEN)  Dom0 kernel: 32-bit, PAE, lsb, paddr 0xc0100000 -> 0xc048d33c
>>>> (XEN) PHYSICAL MEMORY ARRANGEMENT:
>>>> (XEN)  Dom0 alloc.:   000000003c000000->000000003e000000 (57344 pages to
>>>>         
>> be allocated)
>>     
>>>> (XEN) VIRTUAL MEMORY ARRANGEMENT:
>>>> (XEN)  Loaded kernel: c0100000->c048d33c
>>>> (XEN)  Init. ramdisk: c048e000->c1380c00
>>>> (XEN)  Phys-Mach map: c1381000->c13c1000
>>>> (XEN)  Start info:    c13c1000->c13c147c
>>>> (XEN)  Page tables:   c13c2000->c13d3000
>>>> (XEN)  Boot stack:    c13d3000->c13d4000
>>>> (XEN)  TOTAL:         c0000000->c1800000
>>>> (XEN)  ENTRY ADDRESS: c0100000
>>>> (XEN) Dom0 has maximum 1 VCPUs
>>>> (XEN) Scrubbing Free RAM: .......done.
>>>> (XEN) Xen trace buffers: disabled
>>>> (XEN) Std. Loglevel: All
>>>> (XEN) Guest Loglevel: All
>>>> (XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch
>>>>         
>> input to Xen)
>>     
>>>> (XEN) Freed 116kB init memory.
>>>>         
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xensource.com
>>> http://lists.xensource.com/xen-devel
>>>
>>>       

  reply	other threads:[~2010-02-18 16:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-15 13:19 simple scheduler michele.paolino
2010-02-15 13:59 ` George Dunlap
2010-02-15 18:54   ` Pasi Kärkkäinen
2010-02-16 18:18     ` michele.paolino
2010-02-16 18:29       ` Pasi Kärkkäinen
2010-02-17 11:43         ` George Dunlap
2010-02-18 16:51           ` michele.paolino
2010-02-18 16:55             ` George Dunlap [this message]
2010-02-18 17:34         ` michele.paolino
2010-02-19 14:17           ` Konrad Rzeszutek Wilk
2010-02-19 14:40             ` Pasi Kärkkäinen
2010-02-20  9:06             ` michele.paolino

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=4B7D711D.6010909@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=Xen-devel@lists.xensource.com \
    --cc=michele.paolino@studio.unibo.it \
    /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).