freescale powerpoint template - kvm · 2016. 2. 7. · freescale powerpoint template. tm....

32
TM Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

Upload: others

Post on 02-Apr-2021

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t

he Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony

are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack,

ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, QorIQ

Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks

of Freescale Semiconductor, Inc. All other product or service names are the property

of their respective owners. © 2014 Freescale Semiconductor, Inc.

Page 2: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

2

• Network Function Virtualization

• I/O Virtualization Mechanisms

• Vhost-net Details

• NFV with virtio

− Issues

− Workaround

• Proposed Architecture

Page 3: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

3

Network Function Virtualization

Page 4: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

4

• Allows for dynamic network service

launch

− Reduces time for deploying new network services

• Same infrastructure can be used/shared

for hosting multiple services

− Reduced capital investment

− Reduced cost of energy

• Offers Agility and Flexibility

− Quickly scale up or down services based on the

demand

− Reduces time to deploy new networking services

OS

Network

Function

Network

Function

Network

Function

hardware

OS OS

Hypervisor

Page 5: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

5

VM1 VM2 VM3 VM4

Hypervisor

Switch

Server

Network Appliance

NFVM1 NFVM2 NFVM3 NFVM4

Switch

Hypervisor

Pkt

VM1 NFVM VM3 VM4

Hypervisor

Switch

Server

Pkt

Pkt

Shared NIC Shared NIC

Shared NIC

Pkt

Pkt

Pkt

Pkt

Pkt

Page 6: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

6

I/O Virtualization Mechanisms

Page 7: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

7

Guest OS

Hypervisor

(Full Virtualization)

Traps

Device

Emulation

Guest OS

Hypervisor

(ParaVirtualization)

Interfaces

Device

Emulation

Para-drivers

HardwareHardware

Page 8: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

8

Guest OS

Front end drivers

Back end Drivers

Device EmulationHV (Para)

Virtio

virtqueues

Page 9: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

9

► Each guest sees a private VirtIO

network device on PCI bus

► VirtIO network driver is needed in

guest

► Standard tun/tap interface is used by

QEMU to bridge to host network

stack

► Backend driver in QEMU

Partition 1

App

QEMU

Partition 2

OS

App

OS

App

QEMU

Linux Kernel / KVM

tun/tap

eth0

Hardware

Bridge

Page 10: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

10

Vhost-net is a module in

Linux Kernel.

Transfers buffers between host and

guest.

Bypasses QEMU for virtqueue

operations

Partition 1

App

QEMU

Partition 2

OS

App

OS

App

QEMU

tun/tap

Hardware

eth0

Bridge

vhost Linux Kernel /

KVM

Page 11: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

11

Vhost-net Details

Page 12: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

12

Guest

VNIC

vhost thread

TX vqRX vq

Linux Kernel/KVM

Tap

BridgeEthernet

Driver

NIC

Page 13: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

13

QEMU

vhost_dev_ioctl

kthread_create

User Space

ioctl

This thread is responsible for

handling both Rx and Tx jobs for

a vhost device

A worker thread is

created per vhost

instance

Kernel Space

Page 14: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

14

RX Packet Flow

Page 15: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

15

START

Hardware Interrupt

Interrupt Handler

irq_exit

napi_schedule

Other Routines

raise_softirq_irqoff

other routinesdo_softirq

netif_receive_skbnet_rx_action

dpaa_eth_poll

qman_p_poll_dqrr

priv_rx_default_dqrr

AHardirq

Softirq

Page 16: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

16

br_handle_frame

A

br_handle_frame_finish

br_forward

dev_hard_start_xmit

tun_net_xmit

skb_queue_tail

br_dev_queue_push_xmit

dev_queue_xmit

wakeup_poll

This is going to wake up

tun_chr_poll

Bridge

Handling

of skb

Softirq

Tun

receives

the skb

and

queues it

Page 17: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

17

START

Work dequeued

kthread_should_stop

False

False

list_empty

True

True

need_

schedule

schedule

TrueReturn False

RX processing

Page 18: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

18

sock_recvmsg()

calls tun_recvmsg

handle_rx()

sock_len

Socket refers to

tap socket

Poll

Updated used list

tun_do_read() Copy Packet

True

Return

FalseTrue

Return

False

vhost_worker()

Total bytes

received >=

Vhost Budget

False

Page 19: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

20

NFV with VirtIO

Page 20: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

21

Shared NIC

Shared NIC

VM1 VM2 VM3 VM4

Hypervisor

Switch

Server

Network Appliance

NFVM1 NFVM2 NFVM3 NFVM4

Switch

Hypervisor

Pkt

Pkt

Pkt

Pkt Packet Flooding

Packet Drop

Page 21: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

22

Page 22: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

23

NIC driver

Bridge

Tap1 2 … 500

Tap Queue Full

Packets keep on

dropping at tap level

Physical NICNAPI

processing

Packet Flooding

Vhost Thread Fails to Schedule due to lower

Priority than SoftIRQ

Ingress Rate

Page 23: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

24

Page 24: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

25

Congestion

Send Buffer to

Bridge/Tap

FalseTrue

NAPI Handler

Disable HWI

Vhost_Rx

Rx Ring < Lower Watermark

Process Pkt

Enable HWI

NAPI SoftIRQ ProcessingVhost Rx Processing

Page 25: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

26

NIC driver

Bridge

Tap

1 2 … Last

indexNow Tap Queue Full

Physical NIC

Packet gets queued

Congestion Notification

sent to bridge

Packet Drop at HW

last index

Packet Flooding

Bridge stops forwarding

NIC driver Disable HWI

Vhost Thread Now Vhost can schedule

during packet flooding.

Page 26: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

27

0

100

200

300

400

500

600

700

800

900

1000

0 500 1000 1500 2000 2500

eg

ress R

ate

Ingress Rate

Current Design Modified Design

Page 27: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

28

Page 28: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

29

• Dynamic vhost thread controlled NIC driver instance.

• Vhost thread registers with NIC driver:

− Rx Function handle

− Buffer depletion handler

• Driver provides following during registration to Vhost:

− Tx Function Handler

− Buffer pool management handle

Page 29: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

30

Vhost Thread

New Network Acceleration Interface Driver

Ethernet Port

Rx FQ/BD

Ring

Tx FQ/BD

Ring

PCD block

Rx

Ring

Tx

Ring

GUEST

VNET1

KVMVhost

Initialization

Register for

Driver

Instantiation

BD Ring

Creation,

Buffer Pool

Creation

Fill Tx

Handler,

Buffer Pool

Management

handler and

Return

Buffer Pool

Page 30: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

31

Vhost Thread

New Network Acceleration Interface Driver

Ethernet Port

Rx FQ/BD

Ring

PCD block

Rx

Ring

Tx

Ring

GUEST

VNET1

KVM

RxTx

No Rx Buffers

Left in Buffer

Pool

Buffer Pool

Buffer Acquire

Failure

Packet Dropped

at HW

Buffers Seeded

by Vhost

Buffers

available in

Buffer Pool Buffer Acquire

Succeed

Packet DMAed

to buffer and

Sent to Rx Ring

Pkt

Buffer Acquire

Requested

Page 31: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM

Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, the Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore

and Symphony are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a

Package, Processor Expert, QorIQ Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks of Freescale Semiconductor, Inc.

All other product or service names are the property of their respective owners. © 2014 Freescale Semiconductor, Inc.

32

• Vhost-net interfaces can get saturated at high traffic rates

• No mechanism to communicate Vhost-net interface saturation information to host

• With a more integrated guest/host Virtio infrastructure, it’s possible to avoid system saturation and increase throughput

• Hardware acceleration can be leveraged for Vhost net interfaces

Page 32: Freescale PowerPoint Template - KVM · 2016. 2. 7. · Freescale PowerPoint Template. TM. Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t he

TM