From: mlevitsk@redhat.com (Maxim Levitsky)
Subject: No subject
Date: Tue, 19 Mar 2019 16:41:07 +0200 [thread overview]
Message-ID: <20190319144116.400-1-mlevitsk@redhat.com> (raw)
Date: Tue, 19 Mar 2019 14:45:45 +0200
Subject: [PATCH 0/9] RFC: NVME VFIO mediated device
Hi everyone!
In this patch series, I would like to introduce my take on the problem of doing
as fast as possible virtualization of storage with emphasis on low latency.
In this patch series I implemented a kernel vfio based, mediated device that
allows the user to pass through a partition and/or whole namespace to a guest.
The idea behind this driver is based on paper you can find at
https://www.usenix.org/conference/atc18/presentation/peng,
Although note that I stared the development prior to reading this paper,
independently.
In addition to that implementation is not based on code used in the paper as
I wasn't being able at that time to make the source available to me.
***Key points about the implementation:***
* Polling kernel thread is used. The polling is stopped after a
predefined timeout (1/2 sec by default).
Support for all interrupt driven mode is planned, and it shows promising results.
* Guest sees a standard NVME device - this allows to run guest with
unmodified drivers, for example windows guests.
* The NVMe device is shared between host and guest.
That means that even a single namespace can be split between host
and guest based on different partitions.
* Simple configuration
*** Performance ***
Performance was tested on Intel DC P3700, With Xeon E5-2620 v2
and both latency and throughput is very similar to SPDK.
Soon I will test this on a better server and nvme device and provide
more formal performance numbers.
Latency numbers:
~80ms - spdk with fio plugin on the host.
~84ms - nvme driver on the host
~87ms - mdev-nvme + nvme driver in the guest
Throughput was following similar pattern as well.
* Configuration example
$ modprobe nvme mdev_queues=4
$ modprobe nvme-mdev
$ UUID=$(uuidgen)
$ DEVICE='device pci address'
$ echo $UUID > /sys/bus/pci/devices/$DEVICE/mdev_supported_types/nvme-2Q_V1/create
$ echo n1p3 > /sys/bus/mdev/devices/$UUID/namespaces/add_namespace #attach host namespace 1 parition 3
$ echo 11 > /sys/bus/mdev/devices/$UUID/settings/iothread_cpu #pin the io thread to cpu 11
Afterward boot qemu with
-device vfio-pci,sysfsdev=/sys/bus/mdev/devices/$UUID
Zero configuration on the guest.
*** FAQ ***
* Why to make this in the kernel? Why this is better that SPDK
-> Reuse the existing nvme kernel driver in the host. No new drivers in the guest.
-> Share the NVMe device between host and guest.
Even in fully virtualized configurations,
some partitions of nvme device could be used by guests as block devices
while others passed through with nvme-mdev to achieve balance between
all features of full IO stack emulation and performance.
-> NVME-MDEV is a bit faster due to the fact that in-kernel driver
can send interrupts to the guest directly without a context
switch that can be expensive due to meltdown mitigation.
-> Is able to utilize interrupts to get reasonable performance.
This is only implemented
as a proof of concept and not included in the patches,
but interrupt driven mode shows reasonable performance
-> This is a framework that later can be used to support NVMe devices
with more of the IO virtualization built-in
(IOMMU with PASID support coupled with device that supports it)
* Why to attach directly to nvme-pci driver and not use block layer IO
-> The direct attachment allows for better performance, but I will
check the possibility of using block IO, especially for fabrics drivers.
*** Implementation notes ***
* All guest memory is mapped into the physical nvme device
but not 1:1 as vfio-pci would do this.
This allows very efficient DMA.
To support this, patch 2 adds ability for a mdev device to listen on
guest's memory map events.
Any such memory is immediately pinned and then DMA mapped.
(Support for fabric drivers where this is not possible exits too,
in which case the fabric driver will do its own DMA mapping)
* nvme core driver is modified to announce the appearance
and disappearance of nvme controllers and namespaces,
to which the nvme-mdev driver is subscribed.
* nvme-pci driver is modified to expose raw interface of attaching to
and sending/polling the IO queues.
This allows the mdev driver very efficiently to submit/poll for the IO.
By default one host queue is used per each mediated device.
(support for other fabric based host drivers is planned)
* The nvme-mdev doesn't assume presence of KVM, thus any VFIO user, including
SPDK, a qemu running with tccg, ... can use this virtual device.
*** Testing ***
The device was tested with stock QEMU 3.0 on the host,
with host was using 5.0 kernel with nvme-mdev added and the following hardware:
* QEMU nvme virtual device (with nested guest)
* Intel DC P3700 on Xeon E5-2620 v2 server
* Samsung SM981 (in a Thunderbolt enclosure, with my laptop)
* Lenovo NVME device found in my laptop
The guest was tested with kernel 4.16, 4.18, 4.20 and
the same custom complied kernel 5.0
Windows 10 guest was tested too with both Microsoft's inbox driver and
open source community NVME driver
(https://lists.openfabrics.org/pipermail/nvmewin/2016-December/001420.html)
Testing was mostly done on x86_64, but 32 bit host/guest combination
was lightly tested too.
In addition to that, the virtual device was tested with nested guest,
by passing the virtual device to it,
using pci passthrough, qemu userspace nvme driver, and spdk
PS: I used to contribute to the kernel as a hobby using the
maximlevitsky at gmail.com address
Maxim Levitsky (9):
vfio/mdev: add .request callback
nvme/core: add some more values from the spec
nvme/core: add NVME_CTRL_SUSPENDED controller state
nvme/pci: use the NVME_CTRL_SUSPENDED state
nvme/pci: add known admin effects to augument admin effects log page
nvme/pci: init shadow doorbell after each reset
nvme/core: add mdev interfaces
nvme/core: add nvme-mdev core driver
nvme/pci: implement the mdev external queue allocation interface
MAINTAINERS | 5 +
drivers/nvme/Kconfig | 1 +
drivers/nvme/Makefile | 1 +
drivers/nvme/host/core.c | 149 +++++-
drivers/nvme/host/nvme.h | 55 ++-
drivers/nvme/host/pci.c | 385 ++++++++++++++-
drivers/nvme/mdev/Kconfig | 16 +
drivers/nvme/mdev/Makefile | 5 +
drivers/nvme/mdev/adm.c | 873 ++++++++++++++++++++++++++++++++++
drivers/nvme/mdev/events.c | 142 ++++++
drivers/nvme/mdev/host.c | 491 +++++++++++++++++++
drivers/nvme/mdev/instance.c | 802 +++++++++++++++++++++++++++++++
drivers/nvme/mdev/io.c | 563 ++++++++++++++++++++++
drivers/nvme/mdev/irq.c | 264 ++++++++++
drivers/nvme/mdev/mdev.h | 56 +++
drivers/nvme/mdev/mmio.c | 591 +++++++++++++++++++++++
drivers/nvme/mdev/pci.c | 247 ++++++++++
drivers/nvme/mdev/priv.h | 700 +++++++++++++++++++++++++++
drivers/nvme/mdev/udata.c | 390 +++++++++++++++
drivers/nvme/mdev/vcq.c | 207 ++++++++
drivers/nvme/mdev/vctrl.c | 514 ++++++++++++++++++++
drivers/nvme/mdev/viommu.c | 322 +++++++++++++
drivers/nvme/mdev/vns.c | 356 ++++++++++++++
drivers/nvme/mdev/vsq.c | 178 +++++++
drivers/vfio/mdev/vfio_mdev.c | 11 +
include/linux/mdev.h | 4 +
include/linux/nvme.h | 88 +++-
27 files changed, 7375 insertions(+), 41 deletions(-)
create mode 100644 drivers/nvme/mdev/Kconfig
create mode 100644 drivers/nvme/mdev/Makefile
create mode 100644 drivers/nvme/mdev/adm.c
create mode 100644 drivers/nvme/mdev/events.c
create mode 100644 drivers/nvme/mdev/host.c
create mode 100644 drivers/nvme/mdev/instance.c
create mode 100644 drivers/nvme/mdev/io.c
create mode 100644 drivers/nvme/mdev/irq.c
create mode 100644 drivers/nvme/mdev/mdev.h
create mode 100644 drivers/nvme/mdev/mmio.c
create mode 100644 drivers/nvme/mdev/pci.c
create mode 100644 drivers/nvme/mdev/priv.h
create mode 100644 drivers/nvme/mdev/udata.c
create mode 100644 drivers/nvme/mdev/vcq.c
create mode 100644 drivers/nvme/mdev/vctrl.c
create mode 100644 drivers/nvme/mdev/viommu.c
create mode 100644 drivers/nvme/mdev/vns.c
create mode 100644 drivers/nvme/mdev/vsq.c
--
2.17.2
next reply other threads:[~2019-03-19 14:41 UTC|newest]
Thread overview: 357+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-19 14:41 Maxim Levitsky [this message]
2019-03-19 14:41 ` [PATCH 1/9] vfio/mdev: add .request callback Maxim Levitsky
2019-03-19 14:41 ` [PATCH 2/9] nvme/core: add some more values from the spec Maxim Levitsky
2019-03-19 14:41 ` [PATCH 3/9] nvme/core: add NVME_CTRL_SUSPENDED controller state Maxim Levitsky
2019-03-19 14:41 ` [PATCH 4/9] nvme/pci: use the NVME_CTRL_SUSPENDED state Maxim Levitsky
2019-03-20 2:54 ` Fam Zheng
2019-03-19 14:41 ` [PATCH 5/9] nvme/pci: add known admin effects to augument admin effects log page Maxim Levitsky
2019-03-19 14:41 ` [PATCH 6/9] nvme/pci: init shadow doorbell after each reset Maxim Levitsky
2019-03-19 14:41 ` [PATCH 7/9] nvme/core: add mdev interfaces Maxim Levitsky
2019-03-20 11:46 ` Stefan Hajnoczi
2019-03-20 12:50 ` Maxim Levitsky
2019-03-19 14:41 ` [PATCH 8/9] nvme/core: add nvme-mdev core driver Maxim Levitsky
2019-03-19 14:41 ` [PATCH 9/9] nvme/pci: implement the mdev external queue allocation interface Maxim Levitsky
2019-03-19 14:58 ` [PATCH 0/9] RFC: NVME VFIO mediated device Maxim Levitsky
2019-03-25 18:52 ` [PATCH 0/9] RFC: NVME VFIO mediated device [BENCHMARKS] Maxim Levitsky
2019-03-26 9:38 ` Stefan Hajnoczi
2019-03-26 9:50 ` Maxim Levitsky
2019-03-19 15:22 ` your mail Keith Busch
2019-03-19 23:49 ` Chaitanya Kulkarni
2019-03-20 16:44 ` Maxim Levitsky
2019-03-20 16:30 ` Maxim Levitsky
2019-03-20 17:03 ` Keith Busch
2019-03-20 17:33 ` Maxim Levitsky
2019-04-08 10:04 ` Maxim Levitsky
2019-03-20 11:03 ` No subject Felipe Franciosi
2019-03-20 19:08 ` Maxim Levitsky
2019-03-21 16:12 ` Stefan Hajnoczi
2019-03-21 16:21 ` Keith Busch
2019-03-21 16:41 ` Felipe Franciosi
2019-03-21 17:04 ` Maxim Levitsky
2019-03-22 7:54 ` Felipe Franciosi
2019-03-22 10:32 ` Maxim Levitsky
2019-03-22 15:30 ` Keith Busch
2019-03-25 15:44 ` Felipe Franciosi
2019-03-20 15:08 ` [PATCH 0/9] RFC: NVME VFIO mediated device Bart Van Assche
2019-03-20 16:48 ` Maxim Levitsky
2019-03-20 15:28 ` Bart Van Assche
2019-03-20 16:42 ` Maxim Levitsky
2019-03-20 17:03 ` Alex Williamson
2019-03-21 16:13 ` your mail Stefan Hajnoczi
2019-03-21 17:07 ` Maxim Levitsky
2019-03-25 16:46 ` Stefan Hajnoczi
-- strict thread matches above, loose matches on Subject: below --
2023-08-31 7:20 No subject Peter Yin
2022-06-21 9:06 ventas
2019-08-21 15:45 Ivan Mikhaylov
2019-03-16 11:17 Bharath Vedartham
2018-10-05 13:39 Christoph Hellwig
2018-08-02 10:48 TU PHUNG VAN
2018-07-06 5:52 inventsekar
2018-05-08 6:10 Vishnu Gopinath
2018-04-20 8:02 Christoph Hellwig
2018-02-25 0:39 J Freyensee
2018-02-02 6:54 Jianchao Wang
2017-09-13 18:15 unmesh rathi
2017-08-22 1:38 Nicholas Piggin
2017-06-26 13:16 [PATCH] arm64: use readq() instead of readl() to read 64bit entry_point Luc Van Oostenryck
2017-07-03 23:46 ` No subject Khuong Dinh
2017-06-06 7:19 From Lori J. Robinson
2017-06-04 11:59 Yury Norov
[not found] <CAMj-D2DO_CfvD77izsGfggoKP45HSC9aD6auUPAYC9Yeq_aX7w@mail.gmail.com>
2017-05-04 16:44 ` gengdongjiu
2017-04-21 23:23 Sandeep Mann
2017-04-21 4:59 wendyqzx at gmail.com
2017-04-16 15:11 wendyqzx at gmail.com
2017-04-09 10:46 76564 at max.arc.nasa.gov
2017-02-07 0:22 Scott Bauer
2017-02-07 0:46 ` Jens Axboe
2017-01-31 7:58 Andy Gross
2017-01-09 11:33 [PATCH v2 0/7] uapi: export all headers under uapi directories Arnd Bergmann
2017-01-13 10:46 ` [PATCH v3 0/8] " Nicolas Dichtel
2017-01-13 10:46 ` [PATCH v3 1/8] arm: put types.h in uapi Nicolas Dichtel
2017-01-13 15:36 ` No subject David Howells
2017-01-13 10:46 ` [PATCH v3 4/8] x86: stop exporting msr-index.h to userland Nicolas Dichtel
2017-01-13 15:43 ` No subject David Howells
2016-12-01 10:00 Ramana Radhakrishnan
2016-11-19 18:31 bogus
2016-11-19 18:31 bogus
2016-11-19 18:31 bogus
2016-11-19 18:31 bogus
2016-11-11 3:38 Chunyan Zhang
2016-09-30 14:37 Maxime Ripard
2016-07-10 9:24 Neil Armstrong
2016-07-10 9:24 ` Neil Armstrong
2016-06-13 6:24 bogus
2016-06-13 6:24 bogus
2016-04-22 8:25 Daniel Lezcano
2016-04-22 8:27 ` Daniel Lezcano
2016-04-11 7:51 Paul Walmsley
2016-03-07 17:52 nunojsa
2016-02-09 7:29 bogus
2015-12-13 21:57 何旦洁
2015-11-16 16:13 bogus
2015-10-27 0:44 xuyiping
[not found] <E1ZqY3A-0004Mt-KH@feisty.vs19.net>
2015-10-26 3:21 ` Jiada Wang
2015-10-21 6:17 Rock Lee
2015-10-12 17:26 bogus
2015-09-18 17:23 Shraddha Barke
2015-09-18 4:49 Shraddha Barke
2015-09-01 14:14 Mika Penttilä
2015-09-01 15:22 ` Fabio Estevam
2015-07-22 14:05 Chunfeng Yun
2015-07-15 9:32 Yuan Yao
2015-05-18 20:00 raghu MG
2015-04-21 10:18 Ard Biesheuvel
2015-03-30 4:56 Woody Wu
2015-02-26 16:56 Jorge Ramirez-Ortiz
2015-02-18 16:14 Lee Jones
2015-01-27 16:49 Grzegorz Dwornicki
2014-11-10 6:39 Libo Chen
2014-11-10 3:11 Libo Chen
2014-10-28 14:13 Mark Rutland
2014-09-22 19:41 Santosh Shilimkar
2014-09-22 7:45 Jingchang Lu
2014-09-13 19:40 bogus
2014-09-13 19:40 bogus
2014-09-13 19:40 bogus
2014-09-13 19:40 bogus
2014-09-13 19:40 bogus
2014-08-29 14:22 Ravi Raj
2014-08-29 14:47 ` Valdis.Kletnieks at vt.edu
2014-08-29 14:58 ` Ravi Raj
2014-08-29 15:32 ` No subject Valdis.Kletnieks at vt.edu
2014-08-29 15:34 ` Valdis.Kletnieks at vt.edu
2014-07-09 17:49 Sebastian Andrzej Siewior
2014-05-24 1:21 Loc Ho
2014-05-12 16:40 Santosh Shilimkar
2014-05-12 16:38 Santosh Shilimkar
2014-05-12 4:37 Sivakumar V
2014-04-21 2:59 Amber Thrall
2014-02-22 15:53 Hans de Goede
2014-01-21 4:09 John Tobias
2014-01-16 16:11 Loc Ho
2014-01-16 16:09 Loc Ho
2014-01-13 10:32 Lothar Waßmann
2014-01-13 10:29 Lothar Waßmann
2013-12-12 7:30 Loc Ho
2013-11-01 7:04 Xiubo Li
2013-09-24 3:13 Rohit Vaswani
2013-09-15 9:49 bogus
2013-09-15 9:49 bogus
2013-09-15 9:49 bogus
2013-09-02 17:01 Drasko DRASKOVIC
2013-08-24 9:29 Haojian Zhuang
2013-07-30 4:09 PV Juliet
2013-07-26 10:05 Haojian Zhuang
2013-06-28 5:49 Wang, Yalin
2013-06-19 10:57 Ben Dooks
2013-04-24 18:07 Viral Mehta
2013-04-12 7:08 Callum Hutchinson
2013-04-03 10:31 bogus
2013-04-03 10:31 bogus
2013-04-03 10:31 bogus
2013-04-03 10:31 bogus
2013-02-25 7:24 Prasad Lakshman
2013-02-15 5:48 Kaushal Billore
2013-02-06 22:30 Jimmy Pan
2013-01-16 21:46 bogus
2013-01-16 21:46 bogus
2012-12-29 9:17 steve.zhan
2012-12-05 13:48 Niroj Pokhrel
2012-11-19 11:41 唐忠诚
2012-11-11 14:16 Sammy Chan
2012-11-08 9:33 bogus
2012-11-08 8:07 Abhimanyu Kapur
2012-11-02 10:46 Pritam Bankar
2012-10-15 9:24 Niroj Pokhrel
2012-10-14 10:05 Alexey Dobriyan
2012-08-27 6:40 Simon Horman
2012-08-13 10:09 Vivek Panwar
2012-08-06 10:43 =?gb18030?B?wObC5A==?=
2012-07-30 19:04 siddhesh phadke
2012-06-21 18:26 Paul Walmsley
2012-06-06 10:33 Sascha Hauer
2012-05-25 15:26 bogus
2012-05-25 15:26 bogus
2012-05-18 12:27 Sascha Hauer
2012-04-09 17:56 Martynov Semen
2012-04-10 2:26 ` Vladimir Murzin
2012-04-10 4:03 ` Martynov Semen
2012-04-10 4:48 ` Martynov Semen
2012-04-10 16:08 ` Vladimir Murzin
2012-04-10 17:00 ` Semen Martynov
2012-04-05 7:54 bogus
2012-04-05 7:54 bogus
2012-03-20 18:28 John Szakmeister
2012-02-27 5:00 bogus
2012-02-27 5:00 bogus
2012-02-27 5:00 bogus
2012-01-15 8:24 bogus
2011-12-30 17:16 Philip Anil-QBW348
2011-12-28 14:01 Shawn Guo
2011-12-16 2:18 Swapnil Gaikwad
2011-12-02 16:01 Will Deacon
2011-11-28 2:35 Jett.Zhou
2011-11-21 15:22 Jimmy Pan
2011-11-12 14:39 bogus
2011-11-12 14:39 bogus
2011-09-23 3:42 毕春雷
2011-09-19 1:45 Saleem Abdulrasool
2011-09-15 2:03 Jongpill Lee
2011-08-05 3:08 bogus
2011-08-05 3:08 bogus
2011-08-05 3:08 bogus
2011-08-05 3:08 bogus
2011-08-05 3:08 bogus
2011-07-21 11:12 Padmavathi Venna
2011-06-27 20:47 John Ogness
2011-06-27 20:47 Jongpill Lee
2011-06-16 11:41 Venkateswarlu P
2011-06-14 12:20 Venkateswarlu P
2011-06-13 17:29 Andre Silva
2011-06-05 18:33 Hector Oron
2011-06-04 23:16 bogus
2011-06-04 23:16 bogus
2011-05-17 9:28 Javier Martin
2011-05-13 19:35 Vadim Bendebury
2011-04-07 5:55 bogus
2011-04-07 5:55 bogus
2011-04-07 5:55 bogus
2011-04-07 5:55 bogus
2011-04-07 5:55 bogus
2011-03-22 18:13 nijil yes
2011-03-01 14:02 Javier Martin
2011-02-26 6:20 Aldyth Maharsha
2011-01-13 9:13 Uwe Kleine-König
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-19 23:59 bogus
2010-12-03 1:08 tarek attia
2010-10-08 6:02 Daein Moon
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-24 14:53 bogus
2010-09-09 3:33 tarek attia
2010-08-30 5:02 auto595907
2010-08-23 14:32 auto595907
2010-07-23 10:05 bogus
2010-06-24 13:48 Uwe Kleine-König
2010-06-07 17:58 Dave Hylands
2010-05-18 10:38 Marek Szyprowski
2010-04-17 21:43 nelakurthi koteswararao
2010-03-25 17:02 bogus
2010-03-25 17:02 bogus
2010-02-25 9:36 Thomas Weber
2009-11-19 13:58 Vimal Singh
2009-09-17 9:37 Marc Kleine-Budde
2009-09-07 14:07 Somshekar ChandrashekarKadam
2009-08-25 10:34 Syed Rafiuddin
2009-02-27 19:01 bogus
2009-02-27 19:01 bogus
2009-02-27 19:01 bogus
2009-02-27 19:01 bogus
2009-02-27 19:01 bogus
2009-02-27 19:01 bogus
2009-02-27 19:01 bogus
2009-02-15 8:49 bogus
2009-01-04 17:33 bogus
2009-01-04 17:33 bogus
2008-12-07 21:22 bogus
2008-11-21 1:22 bogus
2008-10-23 17:17 bogus
2008-10-23 17:17 bogus
2008-10-23 17:17 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-10-14 11:50 bogus
2008-09-15 17:22 bogus
2008-09-15 17:22 bogus
2008-07-28 4:41 bogus
2008-07-14 13:16 bogus
2008-07-14 13:16 bogus
2008-07-14 13:16 bogus
2008-07-14 13:16 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-04-23 14:39 bogus
2008-03-17 22:01 bogus
2007-12-01 7:52 bogus
2007-12-01 7:52 bogus
2007-10-06 20:13 bogus
2007-10-06 20:13 bogus
2007-10-06 20:13 bogus
2007-07-23 18:04 bogus
2007-07-23 18:04 bogus
2007-06-23 20:07 bogus
2007-02-14 8:32 bogus
2007-02-14 8:32 bogus
2007-02-14 8:32 bogus
2007-02-14 8:32 bogus
2007-02-06 7:08 bogus
2007-02-06 7:08 bogus
2007-02-06 7:08 bogus
2007-02-06 7:08 bogus
2007-02-01 7:54 kou.ishizaki
2007-02-04 4:37 ` No Subject Benjamin Herrenschmidt
2006-10-09 23:13 (no subject) albox
2006-10-09 23:31 ` No Subject Tobin Davis
2006-08-17 1:58 No subject bogus
2006-08-17 1:58 bogus
2006-08-17 1:58 bogus
2006-08-17 1:58 bogus
2006-08-17 1:58 bogus
2006-08-17 1:58 bogus
2006-08-17 1:58 bogus
[not found] <Pine.LNX.4.33.0111200151170.1364-100000@home.apu.edu>
2005-05-19 6:23 ` SACAH
2005-05-19 6:23 ` Chen, Zhen Y (Zhen)
2005-05-19 6:23 ` Gyimesi Attila
2005-05-19 6:23 ` Minesh Khatri
2005-05-19 6:24 ` Bryan Call
2005-05-19 6:24 ` Kirby Dotson
2005-05-19 6:24 ` Zaffar Khalid
2005-05-19 6:24 ` cst01074
2005-05-19 6:24 ` spreckel
2005-05-19 6:24 ` jmp
2005-05-19 6:25 ` no subject firase kaled
2005-05-19 6:25 ` No subject andreas
2005-05-19 6:25 ` Rudolf Marek
2005-05-19 6:25 ` Tomáš Thiemel
2004-12-14 16:49 Andi Kleen
2004-12-15 23:50 ` No Subject Alan Cox
2004-07-16 16:54 Hermann Gottschalk
2004-07-16 16:59 ` No Subject Jesse Stockall
2004-02-22 17:51 redzic fadil
2004-02-22 20:54 ` No Subject Ludootje
[not found] <Pine.GSO.4.58.0401251223440.20527@waterleaf.sonytel.be>
2004-01-25 13:02 ` Benjamin Herrenschmidt
2003-02-21 13:43 News Admin
2003-02-21 15:01 ` No Subject Alan Cox
2002-08-05 13:08 Christos Kartsaklis
2002-08-05 14:53 ` No Subject Alan Cox
2002-08-03 19:26 Pawel Kot
2002-08-03 21:45 ` No Subject Alan Cox
2002-08-03 21:58 ` Bartlomiej Zolnierkiewicz
2002-08-03 22:16 ` Bartlomiej Zolnierkiewicz
2002-08-03 23:38 ` Alan Cox
2002-08-03 22:53 ` Bartlomiej Zolnierkiewicz
2002-08-04 13:28 ` Henning P. Schmiedehausen
2002-08-04 15:40 ` Daniela Engert
2002-08-03 23:27 ` Petr Vandrovec
2001-08-24 22:16 abraxas2
2000-11-19 20:02 jingai
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=20190319144116.400-1-mlevitsk@redhat.com \
--to=mlevitsk@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.