[lkml]   [2006]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
    On Monday 07 August 2006 22:51, Zachary Amsden wrote:
    > Rusty Russell wrote:
    > >>> +
    > >>> +/*
    > >>> + * Set IOPL bits in EFLAGS from given mask
    > >>> + */
    > >>> +static inline void set_iopl_mask(unsigned mask)
    > >>>
    > >> This function can be completely written in C using local_save_flags()/local_restore_flags()
    > >> Please do that. I guess it's still a good idea to keep it separated
    > >> though because it might allow other optimizations.
    > >>
    > >> e.g. i've been thinking about special casing IF changes in save/restore flags
    > >> to optimize CPUs which have slow pushf/popf. If you already make sure
    > >> all non IF manipulations of flags are separated that would help.
    > >>
    > Actually, that is not quite true. Local_save_flags /
    > raw_local_irq_restore today is used only for operating on IF flag, and
    > raw_local_restore_flags does not exist.

    Yes, sorry for the typo.

    > Our implementation of these in
    > VMI assumes that only the IF flag is being changed, and this is the
    > default assumption under which Xen runs as well. Using local_restore to
    > switch IOPL as well causes the extremely performance critical common
    > case of pure IRQ restore to do potentially a lot more work in a hypervisor.
    > So if you do want us to go with the C approach, I would propose using
    > raw_local_iopl_restore, which can make a different hypercall (actually,
    > in our case, this is not even a hypercall, merely a VMI call).

    I meant Rusty can use local restore in his native implementation.
    The higher level interface can be different.

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-08-08 04:07    [W:0.021 / U:64.008 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site