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

Re: [Xen-devel] simple scheduler



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@xxxxxxxxxxxxx
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@xxxxxx> 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@xxxxxx>
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@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx
     > > [6]http://lists.xensource.com/xen-devel
     > >
     > >
     >
     > _______________________________________________
     > Xen-devel mailing list
     > [7]Xen-devel@xxxxxxxxxxxxxxxxxxx
     > [8]http://lists.xensource.com/xen-devel

References

   Visible links
   1. mailto:pasik@xxxxxx
   2. http://wiki.xensource.com/xenwiki/XenSerialConsole
   3.
http://lists.xensource.com/archives/html/xen-devel/2009-04/msg01086.html
   4. mailto:michele.paolino@xxxxxxxxxxxxxxx
   5. mailto:Xen-devel@xxxxxxxxxxxxxxxxxxx
   6. http://lists.xensource.com/xen-devel
   7. mailto:Xen-devel@xxxxxxxxxxxxxxxxxxx
   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@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.