diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-21 11:00:09 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-09-21 11:00:09 -0700 |
commit | 4e24db5b1a8fe0b0afab875ad2facdfaedce7b07 (patch) | |
tree | c5e4bfc2ad68885b1c4925d1a65fd8c7a50ad5aa /arch | |
parent | b30a3f6257ed2105259b404d419b4964e363928c (diff) | |
parent | 9b6efcd2e2275e13403700913b7a1da92cf11ad2 (diff) | |
download | op-kernel-dev-4e24db5b1a8fe0b0afab875ad2facdfaedce7b07.zip op-kernel-dev-4e24db5b1a8fe0b0afab875ad2facdfaedce7b07.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
lguest: update comments to reflect LHCALL_LOAD_GDT_ENTRY.
virtio: console: Prevent userspace from submitting NULL buffers
virtio: console: Fix poll blocking even though there is data to read
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/lguest/boot.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index 9257510..9d5f558 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c @@ -324,9 +324,8 @@ static void lguest_load_gdt(const struct desc_ptr *desc) } /* - * For a single GDT entry which changes, we do the lazy thing: alter our GDT, - * then tell the Host to reload the entire thing. This operation is so rare - * that this naive implementation is reasonable. + * For a single GDT entry which changes, we simply change our copy and + * then tell the host about it. */ static void lguest_write_gdt_entry(struct desc_struct *dt, int entrynum, const void *desc, int type) @@ -338,9 +337,13 @@ static void lguest_write_gdt_entry(struct desc_struct *dt, int entrynum, } /* - * OK, I lied. There are three "thread local storage" GDT entries which change + * There are three "thread local storage" GDT entries which change * on every context switch (these three entries are how glibc implements - * __thread variables). So we have a hypercall specifically for this case. + * __thread variables). As an optimization, we have a hypercall + * specifically for this case. + * + * Wouldn't it be nicer to have a general LOAD_GDT_ENTRIES hypercall + * which took a range of entries? */ static void lguest_load_tls(struct thread_struct *t, unsigned int cpu) { |