From: Jacob Pan <jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> To: LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>, Lu Baolu <baolu.lu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>, David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>, Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>, Jean-Philippe Brucker <jean-philippe-68IGFXMjmZ7QT0dZR+AlfA@public.gmane.org> Cc: "Tian, Kevin" <kevin.tian-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Dave Jiang <dave.jiang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Raj Ashok <ashok.raj-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Jonathan Corbet <corbet-T1hC0tSOHrs@public.gmane.org>, Alex Williamson <alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, Jason Gunthorpe <jgg-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>, Wu Hao <hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Subject: [PATCH V4 10/18] iommu/ioasid: Support mm token type ioasid_set notifications Date: Sat, 27 Feb 2021 14:01:18 -0800 [thread overview] Message-ID: <1614463286-97618-11-git-send-email-jacob.jun.pan@linux.intel.com> (raw) In-Reply-To: <1614463286-97618-1-git-send-email-jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> As a system-wide resource, IOASID is often shared by multiple kernel subsystems that are independent of each other. However, at the ioasid_set level, these kernel subsystems must communicate with each other for ownership checking, event notifications, etc. For example, on Intel Scalable IO Virtualization (SIOV) enabled platforms, KVM and VFIO instances under the same process/guest must be aware of a shared IOASID set. IOASID_SET_TYPE_MM token type was introduced to explicitly mark an IOASID set that belongs to a process, thus use the same mm_struct pointer as a token. Users of the same process can then identify with each other based on this token. This patch introduces MM token specific event registration APIs. Event subscribers such as KVM instances can register IOASID event handler without the knowledge of its ioasid_set. Event handlers are registered based on its mm_struct pointer as a token. In case when subscribers register handler *prior* to the creation of the ioasid_set, the handler’s notification block is stored in a pending list within IOASID core. Once the ioasid_set of the MM token is created, the notification block will be registered by the IOASID core. Signed-off-by: Liu Yi L <yi.l.liu@intel.com> Signed-off-by: Wu Hao <hao.wu@intel.com> Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> --- drivers/iommu/ioasid.c | 142 +++++++++++++++++++++++++++++++++++++++++ include/linux/ioasid.h | 18 ++++++ 2 files changed, 160 insertions(+) diff --git a/drivers/iommu/ioasid.c b/drivers/iommu/ioasid.c index 56577e745c4b..96e941dfada7 100644 --- a/drivers/iommu/ioasid.c +++ b/drivers/iommu/ioasid.c @@ -21,6 +21,8 @@ * keep local states in sync. */ static ATOMIC_NOTIFIER_HEAD(ioasid_notifier); +/* List to hold pending notification block registrations */ +static LIST_HEAD(ioasid_nb_pending_list); static DEFINE_SPINLOCK(ioasid_nb_lock); /* Default to PCIe standard 20 bit PASID */ @@ -574,6 +576,27 @@ static inline bool ioasid_set_is_valid(struct ioasid_set *set) return xa_load(&ioasid_sets, set->id) == set; } +static void ioasid_add_pending_nb(struct ioasid_set *set) +{ + struct ioasid_set_nb *curr; + + if (set->type != IOASID_SET_TYPE_MM) + return; + /* + * Check if there are any pending nb requests for the given token, if so + * add them to the notifier chain. + */ + spin_lock(&ioasid_nb_lock); + list_for_each_entry(curr, &ioasid_nb_pending_list, list) { + if (curr->token == set->token && !curr->active) { + atomic_notifier_chain_register(&set->nh, curr->nb); + curr->set = set; + curr->active = true; + } + } + spin_unlock(&ioasid_nb_lock); +} + /** * ioasid_set_alloc - Allocate a new IOASID set for a given token * @@ -658,6 +681,11 @@ struct ioasid_set *ioasid_set_alloc(void *token, ioasid_t quota, int type) atomic_set(&set->nr_ioasids, 0); ATOMIC_INIT_NOTIFIER_HEAD(&set->nh); + /* + * Check if there are any pending nb requests for the given token, if so + * add them to the notifier chain. + */ + ioasid_add_pending_nb(set); /* * Per set XA is used to store private IDs within the set, get ready * for ioasid_set private ID and system-wide IOASID allocation @@ -675,6 +703,7 @@ EXPORT_SYMBOL_GPL(ioasid_set_alloc); static int ioasid_set_free_locked(struct ioasid_set *set) { + struct ioasid_set_nb *curr; int ret = 0; if (!ioasid_set_is_valid(set)) { @@ -688,6 +717,16 @@ static int ioasid_set_free_locked(struct ioasid_set *set) } WARN_ON(!xa_empty(&set->xa)); + /* Restore pending status of the set NBs */ + list_for_each_entry(curr, &ioasid_nb_pending_list, list) { + if (curr->token == set->token) { + if (curr->active) + curr->active = false; + else + pr_warn("Set token exists but not active!\n"); + } + } + /* * Token got released right away after the ioasid_set is freed. * If a new set is created immediately with the newly released token, @@ -1117,6 +1156,22 @@ EXPORT_SYMBOL_GPL(ioasid_register_notifier); void ioasid_unregister_notifier(struct ioasid_set *set, struct notifier_block *nb) { + struct ioasid_set_nb *curr; + + spin_lock(&ioasid_nb_lock); + /* + * Pending list is registered with a token without an ioasid_set, + * therefore should not be unregistered directly. + */ + list_for_each_entry(curr, &ioasid_nb_pending_list, list) { + if (curr->nb == nb) { + pr_warn("Cannot unregister NB from pending list\n"); + spin_unlock(&ioasid_nb_lock); + return; + } + } + spin_unlock(&ioasid_nb_lock); + if (set) atomic_notifier_chain_unregister(&set->nh, nb); else @@ -1124,6 +1179,93 @@ void ioasid_unregister_notifier(struct ioasid_set *set, } EXPORT_SYMBOL_GPL(ioasid_unregister_notifier); +/** + * ioasid_register_notifier_mm - Register a notifier block on the IOASID set + * created by the mm_struct pointer as the token + * + * @mm: the mm_struct token of the ioasid_set + * @nb: notfier block to be registered on the ioasid_set + * + * This a variant of ioasid_register_notifier() where the caller intends to + * listen to IOASID events belong the ioasid_set created under the same + * process. Caller is not aware of the ioasid_set, no need to hold reference + * of the ioasid_set. + */ +int ioasid_register_notifier_mm(struct mm_struct *mm, struct notifier_block *nb) +{ + struct ioasid_set_nb *curr; + struct ioasid_set *set; + int ret = 0; + + spin_lock(&ioasid_nb_lock); + /* Check for duplicates, nb is unique per set */ + list_for_each_entry(curr, &ioasid_nb_pending_list, list) { + if (curr->token == mm && curr->nb == nb) { + ret = -EBUSY; + goto exit_unlock; + } + } + curr = kzalloc(sizeof(*curr), GFP_ATOMIC); + if (!curr) { + ret = -ENOMEM; + goto exit_unlock; + } + /* Check if the token has an existing set */ + set = ioasid_find_mm_set(mm); + if (!set) { + /* Add to the rsvd list as inactive */ + curr->active = false; + } else { + /* REVISIT: Only register empty set for now. Can add an option + * in the future to playback existing PASIDs. + */ + if (atomic_read(&set->nr_ioasids)) { + pr_warn("IOASID set %d not empty %d\n", set->id, + atomic_read(&set->nr_ioasids)); + ret = -EBUSY; + goto exit_free; + } + curr->token = mm; + curr->nb = nb; + curr->active = true; + curr->set = set; + + /* Set already created, add to the notifier chain */ + atomic_notifier_chain_register(&set->nh, nb); + } + + list_add(&curr->list, &ioasid_nb_pending_list); + goto exit_unlock; +exit_free: + kfree(curr); +exit_unlock: + spin_unlock(&ioasid_nb_lock); + return ret; +} +EXPORT_SYMBOL_GPL(ioasid_register_notifier_mm); + +void ioasid_unregister_notifier_mm(struct mm_struct *mm, struct notifier_block *nb) +{ + struct ioasid_set_nb *curr; + + spin_lock(&ioasid_nb_lock); + list_for_each_entry(curr, &ioasid_nb_pending_list, list) { + if (curr->token == mm && curr->nb == nb) { + list_del(&curr->list); + spin_unlock(&ioasid_nb_lock); + if (curr->active) { + atomic_notifier_chain_unregister(&curr->set->nh, + nb); + } + kfree(curr); + return; + } + } + pr_warn("No ioasid set found for mm token %llx\n", (u64)mm); + spin_unlock(&ioasid_nb_lock); +} +EXPORT_SYMBOL_GPL(ioasid_unregister_notifier_mm); + MODULE_AUTHOR("Jean-Philippe Brucker <jean-philippe.brucker@arm.com>"); MODULE_AUTHOR("Jacob Pan <jacob.jun.pan@linux.intel.com>"); MODULE_DESCRIPTION("IO Address Space ID (IOASID) allocator"); diff --git a/include/linux/ioasid.h b/include/linux/ioasid.h index d8b85a04214f..c97e80ff65cc 100644 --- a/include/linux/ioasid.h +++ b/include/linux/ioasid.h @@ -132,6 +132,8 @@ void ioasid_unregister_notifier(struct ioasid_set *set, void ioasid_set_for_each_ioasid(struct ioasid_set *sdata, void (*fn)(ioasid_t id, void *data), void *data); +int ioasid_register_notifier_mm(struct mm_struct *mm, struct notifier_block *nb); +void ioasid_unregister_notifier_mm(struct mm_struct *mm, struct notifier_block *nb); #else /* !CONFIG_IOASID */ static inline void ioasid_install_capacity(ioasid_t total) { @@ -250,5 +252,21 @@ static inline void ioasid_set_for_each_ioasid(struct ioasid_set *sdata, void *data) { } + +static inline int ioasid_register_notifier_mm(struct mm_struct *mm, + struct notifier_block *nb) +{ + return -ENOTSUPP; +} + +static inline void ioasid_unregister_notifier_mm(struct mm_struct *mm, + struct notifier_block *nb) +{ +} + +static inline bool ioasid_queue_work(struct work_struct *work) +{ + return false; +} #endif /* CONFIG_IOASID */ #endif /* __LINUX_IOASID_H */ -- 2.25.1 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2021-02-27 22:01 UTC|newest]
Thread overview: 269+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-27 22:01 [PATCH V4 00/18] IOASID extensions for guest SVA Jacob Pan
[not found] ` <1614463286-97618-1-git-send-email-jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2021-02-27 22:01 ` [PATCH V4 01/18] docs: Document IO Address Space ID (IOASID) APIs Jacob Pan
2021-02-27 22:01 ` [PATCH V4 02/18] iommu/ioasid: Rename ioasid_set_data() Jacob Pan
2021-02-27 22:01 ` [PATCH V4 03/18] iommu/ioasid: Add a separate function for detach data Jacob Pan
2021-02-27 22:01 ` [PATCH V4 04/18] iommu/ioasid: Support setting system-wide capacity Jacob Pan
2021-02-27 22:01 ` [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs Jacob Pan
[not found] ` <1614463286-97618-6-git-send-email-jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2021-03-19 0:22 ` Jacob Pan
2021-03-19 9:58 ` Jean-Philippe Brucker
2021-03-19 12:46 ` Jason Gunthorpe
[not found] ` <20210319124645.GP2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-19 13:41 ` Jean-Philippe Brucker
2021-03-19 13:54 ` Jason Gunthorpe
[not found] ` <20210319135432.GT2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-19 18:22 ` Jacob Pan
2021-03-22 9:24 ` Jean-Philippe Brucker
2021-03-24 17:02 ` Jacob Pan
2021-03-24 17:03 ` Jason Gunthorpe
[not found] ` <20210324170338.GM2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-24 22:12 ` Jacob Pan
2021-03-25 10:21 ` Jean-Philippe Brucker
2021-03-25 17:02 ` Jacob Pan
2021-03-25 17:16 ` Jason Gunthorpe
[not found] ` <20210325171645.GF2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-25 18:23 ` Jacob Pan
2021-03-26 8:06 ` Jean-Philippe Brucker
2021-03-30 13:07 ` Jason Gunthorpe
[not found] ` <20210330130755.GN2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-30 13:42 ` Jean-Philippe Brucker
2021-03-30 13:46 ` Jason Gunthorpe
2021-03-25 10:26 ` Jean-Philippe Brucker
2021-03-22 12:03 ` Jason Gunthorpe
[not found] ` <20210322120300.GU2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-24 19:05 ` Jacob Pan
2021-03-29 16:31 ` Jason Gunthorpe
[not found] ` <20210329163147.GG2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-29 22:55 ` Jacob Pan
2021-03-30 13:43 ` Jason Gunthorpe
[not found] ` <20210330134313.GP2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 0:10 ` Jacob Pan
2021-03-31 12:28 ` Jason Gunthorpe
[not found] ` <20210331122805.GC1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 16:34 ` Jacob Pan
2021-03-31 17:31 ` Jason Gunthorpe
[not found] ` <20210331173148.GN1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 18:20 ` Jacob Pan
2021-03-31 18:33 ` Jason Gunthorpe
[not found] ` <20210331183324.GR1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 21:50 ` Jacob Pan
2021-03-31 8:38 ` Liu, Yi L
2021-03-30 1:37 ` Tian, Kevin
[not found] ` <MWHPR11MB188639EE54B48B0E1321C8198C7D9-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-03-30 13:28 ` Jason Gunthorpe
[not found] ` <20210330132830.GO2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 7:38 ` Liu, Yi L
[not found] ` <BN6PR11MB40688F5AA2323AB8CC8E65E7C37C9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-03-31 12:40 ` Jason Gunthorpe
[not found] ` <20210331124038.GE1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-01 4:38 ` Liu, Yi L
[not found] ` <BN6PR11MB406854CAE9D7CE86BEAB3E23C37B9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-01 7:04 ` Liu, Yi L
[not found] ` <BN6PR11MB40687428F0D0F3B5F13EA3E0C37B9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-01 11:54 ` Jason Gunthorpe
[not found] ` <20210401115429.GY1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-02 12:46 ` Liu, Yi L
2021-04-01 12:05 ` Jean-Philippe Brucker
2021-04-01 12:12 ` Jason Gunthorpe
2021-04-01 13:38 ` Liu, Yi L
[not found] ` <BN6PR11MB4068171CD1D4B823515F7EFBC37B9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-01 13:42 ` Jason Gunthorpe
[not found] ` <20210401134236.GF1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-01 14:08 ` Liu, Yi L
[not found] ` <BN6PR11MB4068C4DE7AF43D44DE70F4C1C37B9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-01 16:03 ` Jason Gunthorpe
[not found] ` <20210401160337.GJ1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-02 7:30 ` Tian, Kevin
[not found] ` <MWHPR11MB18866AB35A13A139262347FD8C7A9-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-05 23:35 ` Jason Gunthorpe
[not found] ` <20210405233526.GD7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-06 0:37 ` Tian, Kevin
[not found] ` <MWHPR11MB18862BF4EA4DC0CFDE6CD2238C769-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-06 12:15 ` Jason Gunthorpe
2021-04-15 13:11 ` Auger Eric
[not found] ` <4bea6eb9-08ad-4b6b-1e0f-c97ece58a078-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-15 23:07 ` Jason Gunthorpe
[not found] ` <20210415230732.GG1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-16 13:12 ` Jacob Pan
2021-04-16 15:45 ` Alex Williamson
[not found] ` <20210416094547.1774e1a3-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-16 17:23 ` Jacob Pan
2021-04-16 17:54 ` Jason Gunthorpe
2021-04-21 13:18 ` Liu, Yi L
[not found] ` <BN6PR11MB406854F56D18E1187A2C98ACC3479-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-21 16:23 ` Jason Gunthorpe
2021-04-21 16:54 ` Alex Williamson
[not found] ` <20210421105451.56d3670a-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-21 17:52 ` Jason Gunthorpe
[not found] ` <20210421175203.GN1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-21 19:33 ` Alex Williamson
[not found] ` <20210421133312.15307c44-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-21 23:03 ` Jason Gunthorpe
[not found] ` <20210421230301.GP1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-22 8:34 ` Tian, Kevin
2021-04-22 12:10 ` Jason Gunthorpe
[not found] ` <20210422121020.GT1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-23 9:06 ` Tian, Kevin
2021-04-23 11:49 ` Jason Gunthorpe
[not found] ` <20210423114944.GF1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-25 9:24 ` Tian, Kevin
[not found] ` <MWHPR11MB18861FE6982D73AFBF173E048C439-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-26 12:38 ` Jason Gunthorpe
[not found] ` <20210426123817.GQ1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-28 6:34 ` Tian, Kevin
2021-04-28 15:06 ` Alex Williamson
[not found] ` <20210428090625.5a05dae8-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-05-07 7:36 ` Tian, Kevin
[not found] ` <MWHPR11MB1886E0A7897758AA7BE509058C579-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-05-07 11:56 ` Jason Gunthorpe
2021-05-07 17:06 ` Alex Williamson
[not found] ` <20210507110614.7b8e6998-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-05-07 17:10 ` Jason Gunthorpe
2021-05-08 6:08 ` Tian, Kevin
2021-05-08 7:31 ` Tian, Kevin
[not found] ` <MWHPR11MB18862452FD4172DCA70C89B88C569-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-05-10 2:56 ` Lu Baolu
[not found] ` <MWHPR11MB188625137D5B7423822396C88C409-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-28 20:46 ` Jason Gunthorpe
[not found] ` <20210428204606.GX1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-04 16:22 ` Jacob Pan
2021-05-04 16:31 ` Jason Gunthorpe
2021-05-08 5:46 ` Tian, Kevin
2021-05-04 15:41 ` Jacob Pan
2021-05-04 18:00 ` Jason Gunthorpe
[not found] ` <20210504180050.GB1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-04 22:11 ` Jacob Pan
2021-05-04 23:15 ` Jason Gunthorpe
[not found] ` <20210504231530.GE1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-05 17:22 ` Jacob Pan
2021-05-05 18:00 ` Jason Gunthorpe
[not found] ` <20210505180023.GJ1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-05 20:04 ` Jacob Pan
2021-05-05 22:21 ` Jason Gunthorpe
[not found] ` <20210505222120.GM1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-05 23:23 ` Raj, Ashok
2021-05-06 12:22 ` Jason Gunthorpe
2021-05-08 7:06 ` Liu Yi L
2021-05-06 7:23 ` Jean-Philippe Brucker
2021-05-06 12:27 ` Jason Gunthorpe
[not found] ` <20210506122730.GQ1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-06 16:32 ` Raj, Ashok
2021-05-07 17:20 ` Jason Gunthorpe
[not found] ` <20210507172051.GW1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-07 18:14 ` Raj, Ashok
2021-05-07 18:20 ` Jason Gunthorpe
[not found] ` <20210507182050.GX1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-07 19:23 ` Raj, Ashok
2021-05-07 19:28 ` Jason Gunthorpe
[not found] ` <20210507192810.GY1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-07 22:15 ` Jacob Pan
2021-05-08 9:56 ` Tian, Kevin
[not found] ` <MWHPR11MB188698FBEE62AF1313E0F7AC8C569-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-05-10 12:37 ` Jason Gunthorpe
[not found] ` <20210510123729.GA1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-10 15:25 ` Raj, Ashok
2021-05-10 15:31 ` Jason Gunthorpe
[not found] ` <20210510153111.GB1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-10 16:22 ` Raj, Ashok
2021-05-10 16:39 ` Jason Gunthorpe
[not found] ` <20210510163956.GD1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-10 22:28 ` Jacob Pan
2021-05-10 23:45 ` Jason Gunthorpe
[not found] ` <20210510234500.GI1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-11 3:56 ` Jacob Pan
2021-05-11 9:10 ` Tian, Kevin
[not found] ` <MWHPR11MB1886E22D03B14EE0D5725CE08C539-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-05-11 13:24 ` Liu Yi L
2021-05-11 22:52 ` Tian, Kevin
2021-05-11 14:38 ` Jason Gunthorpe
[not found] ` <20210511143840.GL1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-11 22:51 ` Tian, Kevin
2021-05-11 23:39 ` Jason Gunthorpe
[not found] ` <20210511233950.GQ1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-12 0:21 ` Tian, Kevin
2021-05-12 0:25 ` Jason Gunthorpe
[not found] ` <20210512002515.GR1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-12 0:40 ` Tian, Kevin
2021-04-29 8:54 ` Auger Eric
2021-04-29 8:55 ` Auger Eric
2021-04-29 13:26 ` Auger Eric
[not found] ` <6e36797c-799e-074d-f66f-5686a4b37f38-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-29 20:04 ` Jason Gunthorpe
[not found] ` <20210429200431.GA1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-05 9:10 ` Auger Eric
2021-04-22 17:13 ` Alex Williamson
2021-04-22 17:57 ` Jason Gunthorpe
[not found] ` <20210422175715.GA1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-22 19:37 ` Alex Williamson
2021-04-22 20:00 ` Jason Gunthorpe
[not found] ` <20210422200024.GC1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-22 22:38 ` Alex Williamson
[not found] ` <20210422163808.2d173225-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-22 23:39 ` Jason Gunthorpe
[not found] ` <20210422233950.GD1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-23 10:31 ` Tian, Kevin
[not found] ` <MWHPR11MB1886A98D9176B5571530EF1D8C459-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-23 11:57 ` Jason Gunthorpe
2021-04-27 5:11 ` David Gibson
[not found] ` <YIec/Rt7OxvfFw7W-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2021-04-27 16:39 ` Jason Gunthorpe
2021-04-28 0:49 ` David Gibson
2021-04-23 16:38 ` Alex Williamson
[not found] ` <20210423103851.41138791-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-23 22:28 ` Jason Gunthorpe
[not found] ` <20210423222803.GK1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-27 5:15 ` David Gibson
2021-04-27 5:08 ` David Gibson
[not found] ` <YIecXkaEGNgICePO-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2021-04-27 17:12 ` Jason Gunthorpe
[not found] ` <20210427171212.GD1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-28 0:58 ` David Gibson
[not found] ` <YIizNdbA0+LYwQbI-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2021-04-28 14:56 ` Jason Gunthorpe
[not found] ` <20210428145622.GU1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-29 3:04 ` David Gibson
2021-05-03 16:15 ` Jason Gunthorpe
[not found] ` <20210503161518.GM1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-13 5:48 ` David Gibson
2021-05-13 13:59 ` Jason Gunthorpe
[not found] ` <20210513135938.GG1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-24 7:52 ` David Gibson
2021-05-24 23:37 ` Jason Gunthorpe
2021-05-25 19:26 ` Kirti Wankhede
[not found] ` <ce2fcf21-1803-047b-03f0-7a4108dea7af-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-25 19:52 ` Jason Gunthorpe
[not found] ` <20210525195257.GG1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-25 21:18 ` Kirti Wankhede
[not found] ` <6b13399d-cf03-1e71-3624-c39d4d05e958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-27 5:00 ` David Gibson
2021-05-27 18:25 ` Kirti Wankhede
2021-06-01 3:45 ` David Gibson
2021-05-27 4:58 ` David Gibson
2021-05-27 18:48 ` Jason Gunthorpe
[not found] ` <20210527184847.GI1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-06-01 4:03 ` David Gibson
2021-06-01 12:57 ` Jason Gunthorpe
[not found] ` <20210601125712.GA4157739-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-06-08 0:44 ` David Gibson
2021-06-08 18:34 ` Jason Gunthorpe
2021-05-25 22:52 ` Alex Williamson
[not found] ` <20210525165252.6959d9da.alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-05-26 18:10 ` Kirti Wankhede
[not found] ` <6f9dad1a-4e15-1703-d6f4-1b51b7fde15a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-26 18:59 ` Alex Williamson
[not found] ` <20210526125905.61e00a18.alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-05-26 19:13 ` Jason Gunthorpe
[not found] ` <20210524233744.GT1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-27 4:53 ` David Gibson
2021-05-27 19:06 ` Jason Gunthorpe
2021-06-01 4:27 ` David Gibson
2021-04-28 6:58 ` Tian, Kevin
[not found] ` <MWHPR11MB1886F0818D30329172C420758C409-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-05-04 17:12 ` Jason Gunthorpe
[not found] ` <20210504171246.GZ1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-07 8:09 ` Tian, Kevin
2021-04-28 7:47 ` Tian, Kevin
[not found] ` <MWHPR11MB1886C9199AA3F00FF72ACB508C409-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-28 18:41 ` Jason Gunthorpe
[not found] ` <20210422111337.6ac3624d-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-27 4:50 ` David Gibson
[not found] ` <YIeYJZOdgMN/orl0-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2021-04-27 17:24 ` Jason Gunthorpe
2021-04-28 1:23 ` David Gibson
[not found] ` <YIi5G4Wg/hpFqNdX-l+x2Y8Cxqc4e6aEkudXLsA@public.gmane.org>
2021-04-29 0:21 ` Jason Gunthorpe
[not found] ` <20210429002149.GZ1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-29 3:20 ` David Gibson
2021-05-03 16:05 ` Jason Gunthorpe
[not found] ` <20210503160530.GL1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-04 3:54 ` David Gibson
2021-05-04 18:15 ` Jason Gunthorpe
[not found] ` <20210504181537.GC1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-05 4:28 ` Alexey Kardashevskiy
[not found] ` <7e5c2276-ca1c-a8af-c15f-72a7c83c8bfa-sLpHqDYs0B2HXe+LvDLADg@public.gmane.org>
2021-05-05 16:39 ` Jason Gunthorpe
[not found] ` <20210505163902.GG1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-13 6:07 ` David Gibson
2021-05-13 13:50 ` Jason Gunthorpe
[not found] ` <20210513135030.GF1002214-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-05-24 7:56 ` David Gibson
2021-05-13 6:01 ` David Gibson
2021-05-13 6:52 ` Tian, Kevin
2021-05-13 13:47 ` Jason Gunthorpe
2021-04-22 12:55 ` Liu Yi L
2021-04-16 13:38 ` Auger Eric
[not found] ` <b1492fd3-8ce2-1632-3b14-73d8d4356fd7-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-16 14:05 ` Jason Gunthorpe
[not found] ` <20210416140524.GI1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-16 14:26 ` Auger Eric
[not found] ` <f71c1e37-6466-e931-be1d-b9b36d785596-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-16 14:34 ` Jason Gunthorpe
[not found] ` <20210416143451.GJ1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-16 15:00 ` Auger Eric
2021-04-01 11:46 ` Jason Gunthorpe
[not found] ` <20210401114648.GX1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-01 13:10 ` Liu, Yi L
[not found] ` <BN6PR11MB406858FAC3821B84CCC4D30DC37B9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-01 13:15 ` Jason Gunthorpe
[not found] ` <20210401131533.GD1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-01 13:43 ` Liu, Yi L
[not found] ` <BN6PR11MB4068C1A040FF61B4A9ABBD9BC37B9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-01 13:46 ` Jason Gunthorpe
[not found] ` <20210401134641.GG1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-02 7:58 ` Tian, Kevin
[not found] ` <MWHPR11MB1886C0804A0240998C110EE58C7A9-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-05 23:39 ` Jason Gunthorpe
[not found] ` <20210405233946.GE7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-06 1:02 ` Tian, Kevin
[not found] ` <MWHPR11MB18863645C2C63A89BBA200B08C769-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-06 12:21 ` Jason Gunthorpe
[not found] ` <20210406122117.GM7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-07 2:23 ` Tian, Kevin
[not found] ` <MWHPR11MB188628BDB37A4EE36F3D99338C769@MWHPR11MB1886.namprd11.prod.outlook.com>
[not found] ` <MWHPR11MB188628BDB37A4EE36F3D99338C769-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-06 2:08 ` Tian, Kevin
2021-04-02 10:01 ` Tian, Kevin
2021-04-02 8:22 ` Tian, Kevin
[not found] ` <MWHPR11MB1886CAD48AFC156BFC7C1D398C7A9-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-05 23:42 ` Jason Gunthorpe
[not found] ` <20210405234230.GF7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-06 1:27 ` Tian, Kevin
2021-04-06 12:34 ` Jason Gunthorpe
[not found] ` <20210406123451.GN7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-07 2:08 ` Tian, Kevin
[not found] ` <MWHPR11MB1886CB8F558C6C17F921F77F8C759-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-07 12:20 ` Jason Gunthorpe
[not found] ` <20210407122042.GF7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-07 23:50 ` Tian, Kevin
[not found] ` <MWHPR11MB1886AEAE97A9E6972C63CACF8C759-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-08 11:41 ` Jason Gunthorpe
2021-04-06 1:35 ` Jason Wang
[not found] ` <fa57bde5-472f-6e66-3521-bfac7d6e4f8d-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2021-04-06 12:42 ` Jason Gunthorpe
[not found] ` <20210406124251.GO7405-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-07 2:06 ` Jason Wang
2021-04-07 8:17 ` Tian, Kevin
[not found] ` <MWHPR11MB1886A7E4C6F3E3A81240517B8C759-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-04-07 11:58 ` Jason Gunthorpe
2021-04-07 18:43 ` Jean-Philippe Brucker
2021-04-07 19:36 ` Jason Gunthorpe
2021-04-08 9:37 ` Jean-Philippe Brucker
2021-03-30 2:24 ` Tian, Kevin
[not found] ` <MWHPR11MB1886F14B4C7C58C99F54FAFF8C7D9-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-03-30 13:24 ` Jason Gunthorpe
2021-03-30 4:14 ` Tian, Kevin
[not found] ` <MWHPR11MB18867EC048E3E3FA37F9C38F8C7D9-4Pk8um7sDhPjKiA5vsxACZPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-03-30 13:27 ` Jason Gunthorpe
[not found] ` <20210330132740.GB1403691-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 7:41 ` Liu, Yi L
[not found] ` <BN6PR11MB40688BB2693A657D411E33C8C37C9-1gF2/dm/6VuPGwkGT4HjsJPPoyLQLiKMvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2021-03-31 12:38 ` Jason Gunthorpe
[not found] ` <20210331123801.GD1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-31 23:46 ` Jacob Pan
2021-04-01 0:37 ` Jason Gunthorpe
[not found] ` <20210401003705.GS1463678-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-04-01 17:23 ` Jacob Pan
2021-04-01 17:26 ` Jason Gunthorpe
2021-03-19 17:14 ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 06/18] iommu/ioasid: Add free function and states Jacob Pan
2021-02-27 22:01 ` [PATCH V4 07/18] iommu/ioasid: Add ioasid_set iterator helper functions Jacob Pan
2021-02-27 22:01 ` [PATCH V4 08/18] iommu/ioasid: Introduce ioasid_set private ID Jacob Pan
2021-02-27 22:01 ` [PATCH V4 09/18] iommu/ioasid: Introduce notification APIs Jacob Pan
2021-02-27 22:01 ` Jacob Pan [this message]
2021-02-27 22:01 ` [PATCH V4 11/18] iommu/ioasid: Add ownership check in guest bind Jacob Pan
2021-02-27 22:01 ` [PATCH V4 12/18] iommu/vt-d: Remove mm reference for guest SVA Jacob Pan
2021-02-27 22:01 ` [PATCH V4 13/18] iommu/ioasid: Add a workqueue for cleanup work Jacob Pan
2021-02-27 22:01 ` [PATCH V4 14/18] iommu/vt-d: Listen to IOASID notifications Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 15/18] cgroup: Introduce ioasids controller Jacob Pan
2021-03-03 15:44 ` Tejun Heo
[not found] ` <YD+u3CXhwOi2LC+4-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
2021-03-03 21:17 ` Jacob Pan
2021-03-04 0:02 ` Jacob Pan
2021-03-04 0:23 ` Jason Gunthorpe
2021-03-04 9:49 ` Jean-Philippe Brucker
2021-03-04 17:46 ` Jacob Pan
2021-03-04 17:54 ` Jason Gunthorpe
[not found] ` <20210304175402.GG4247-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-04 19:01 ` Jacob Pan
2021-03-04 19:02 ` Jason Gunthorpe
[not found] ` <20210304190253.GL4247-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-04 21:28 ` Jacob Pan
2021-03-05 8:30 ` Jean-Philippe Brucker
2021-03-05 17:16 ` Jean-Philippe Brucker
2021-03-05 18:20 ` Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 16/18] iommu/ioasid: Consult IOASIDs cgroup for allocation Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 17/18] docs: cgroup-v1: Add IOASIDs controller Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 18/18] ioasid: Add /dev/ioasid for userspace Jacob Pan
[not found] ` <1614463286-97618-19-git-send-email-jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2021-03-10 19:23 ` Jason Gunthorpe
[not found] ` <20210310192301.GC2356281-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2021-03-11 22:55 ` Jacob Pan
2021-03-12 14:54 ` Jason Gunthorpe
2021-03-02 12:58 ` [PATCH V4 00/18] IOASID extensions for guest SVA Liu, Yi L
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=1614463286-97618-11-git-send-email-jacob.jun.pan@linux.intel.com \
--to=jacob.jun.pan-vuqaysv1563yd54fqh9/ca@public.gmane.org \
--cc=alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=ashok.raj-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=baolu.lu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=corbet-T1hC0tSOHrs@public.gmane.org \
--cc=dave.jiang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=jean-philippe-68IGFXMjmZ7QT0dZR+AlfA@public.gmane.org \
--cc=jgg-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
--cc=kevin.tian-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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).