* Andrew Morton <[EMAIL PROTECTED]> wrote:
> Oleg Nesterov <[EMAIL PROTECTED]> wrote:
> >
> > +void fastcall init_timer(struct timer_list *timer)
> > +{
> > + timer->entry.next = NULL;
> > + timer->_base = _cpu(tvec_bases,
> > + __smp_processor_id()).t_base;
> > +
Andrew Morton wrote:
>
> Oleg Nesterov <[EMAIL PROTECTED]> wrote:
> >
> > +void fastcall init_timer(struct timer_list *timer)
> > +{
> > +timer->entry.next = NULL;
> > +timer->_base = _cpu(tvec_bases,
> > +__smp_processor_id()).t_base;
> > +timer->magic =
Oleg Nesterov <[EMAIL PROTECTED]> wrote:
>
> +void fastcall init_timer(struct timer_list *timer)
> +{
> +timer->entry.next = NULL;
> +timer->_base = _cpu(tvec_bases,
> +__smp_processor_id()).t_base;
> +timer->magic = TIMER_MAGIC;
> +}
__smp_processor_id() is
Oh, It never ends. Andrew, please apply this too.
Or I can send you updated previous patch if your prefer.
[PATCH] timers fixes/improvements fix
1. Fix compilation with CONFIG_NO_IDLE_HZ:
s/->lock/->t_base.lock/
2. s/_base/base as Ingo suggested.
Signed-off-by: Oleg Nesterov <[EMAIL
Oh, It never ends. Andrew, please apply this too.
Or I can send you updated previous patch if your prefer.
[PATCH] timers fixes/improvements fix
1. Fix compilation with CONFIG_NO_IDLE_HZ:
s/-lock/-t_base.lock/
2. s/_base/base as Ingo suggested.
Signed-off-by: Oleg Nesterov [EMAIL PROTECTED]
Oleg Nesterov [EMAIL PROTECTED] wrote:
+void fastcall init_timer(struct timer_list *timer)
+{
+timer-entry.next = NULL;
+timer-_base = per_cpu(tvec_bases,
+__smp_processor_id()).t_base;
+timer-magic = TIMER_MAGIC;
+}
__smp_processor_id() is not
Andrew Morton wrote:
Oleg Nesterov [EMAIL PROTECTED] wrote:
+void fastcall init_timer(struct timer_list *timer)
+{
+timer-entry.next = NULL;
+timer-_base = per_cpu(tvec_bases,
+__smp_processor_id()).t_base;
+timer-magic = TIMER_MAGIC;
+}
* Andrew Morton [EMAIL PROTECTED] wrote:
Oleg Nesterov [EMAIL PROTECTED] wrote:
+void fastcall init_timer(struct timer_list *timer)
+{
+ timer-entry.next = NULL;
+ timer-_base = per_cpu(tvec_bases,
+ __smp_processor_id()).t_base;
+ timer-magic =
Linus Torvalds <[EMAIL PROTECTED]> wrote:
> On Fri, 1 Apr 2005, Oleg Nesterov wrote:
> >
> > This patch replaces and updates 6 timer patches which are currently
> > in -mm tree. This version does not play games with __TIMER_PENDING
> > bit, so incremental patch is not suitable. It is against
On Fri, 1 Apr 2005, Andrew Morton wrote:
> Sure. Christoph and (I think) Ken have been seeing mysterious misbehaviour
> which _might_ be due to Oleg's first round of timer patches. I assume C
> will test this new patch?
Yes will be tested. The hangs disappeared here when we removed Oleg's
Linus Torvalds <[EMAIL PROTECTED]> wrote:
>
>
>
> On Fri, 1 Apr 2005, Oleg Nesterov wrote:
> >
> > This patch replaces and updates 6 timer patches which are currently
> > in -mm tree. This version does not play games with __TIMER_PENDING
> > bit, so incremental patch is not suitable. It is
On Fri, 1 Apr 2005, Oleg Nesterov wrote:
>
> This patch replaces and updates 6 timer patches which are currently
> in -mm tree. This version does not play games with __TIMER_PENDING
> bit, so incremental patch is not suitable. It is against 2.6.12-rc1.
> Please comment. I am sending pseudo code
Ingo Molnar wrote:
>
> * Oleg Nesterov <[EMAIL PROTECTED]> wrote:
>
> > struct timer_list {
> > ...
> > timer_base_t *_base;
> > };
>
> namespace cleanliness: i'd suggest s/_base/base.
I deliberately renamed it to '_base' because then it is much more grepable.
But I don't mind doing
* Oleg Nesterov <[EMAIL PROTECTED]> wrote:
> struct timer_list {
> ...
> timer_base_t *_base;
> };
namespace cleanliness: i'd suggest s/_base/base.
another detail:
> int __mod_timer(struct timer_list *timer, unsigned long expires)
[...]
> /* Ensure the timer is
* Oleg Nesterov <[EMAIL PROTECTED]> wrote:
> This patch replaces and updates 6 timer patches which are currently in
> -mm tree. This version does not play games with __TIMER_PENDING bit,
> so incremental patch is not suitable. It is against 2.6.12-rc1. Please
> comment. I am sending pseudo
Here it is code snippets for easier review.
typedef struct timer_base_s {
spinlock_t lock;
struct timer_list *running_timer;
} timer_base_t;
struct tvec_t_base_s {
timer_base_t t_base;
...
} tvec_bases[];
struct timer_list {
...
timer_base_t
This patch replaces and updates 6 timer patches which are currently
in -mm tree. This version does not play games with __TIMER_PENDING
bit, so incremental patch is not suitable. It is against 2.6.12-rc1.
Please comment. I am sending pseudo code in a separate message for
easier review.
This patch
This patch replaces and updates 6 timer patches which are currently
in -mm tree. This version does not play games with __TIMER_PENDING
bit, so incremental patch is not suitable. It is against 2.6.12-rc1.
Please comment. I am sending pseudo code in a separate message for
easier review.
This patch
Here it is code snippets for easier review.
typedef struct timer_base_s {
spinlock_t lock;
struct timer_list *running_timer;
} timer_base_t;
struct tvec_t_base_s {
timer_base_t t_base;
...
} tvec_bases[];
struct timer_list {
...
timer_base_t
* Oleg Nesterov [EMAIL PROTECTED] wrote:
This patch replaces and updates 6 timer patches which are currently in
-mm tree. This version does not play games with __TIMER_PENDING bit,
so incremental patch is not suitable. It is against 2.6.12-rc1. Please
comment. I am sending pseudo code in
* Oleg Nesterov [EMAIL PROTECTED] wrote:
struct timer_list {
...
timer_base_t *_base;
};
namespace cleanliness: i'd suggest s/_base/base.
another detail:
int __mod_timer(struct timer_list *timer, unsigned long expires)
[...]
/* Ensure the timer is serialized.
Ingo Molnar wrote:
* Oleg Nesterov [EMAIL PROTECTED] wrote:
struct timer_list {
...
timer_base_t *_base;
};
namespace cleanliness: i'd suggest s/_base/base.
I deliberately renamed it to '_base' because then it is much more grepable.
But I don't mind doing s/_base/base/ if you
On Fri, 1 Apr 2005, Oleg Nesterov wrote:
This patch replaces and updates 6 timer patches which are currently
in -mm tree. This version does not play games with __TIMER_PENDING
bit, so incremental patch is not suitable. It is against 2.6.12-rc1.
Please comment. I am sending pseudo code in a
Linus Torvalds [EMAIL PROTECTED] wrote:
On Fri, 1 Apr 2005, Oleg Nesterov wrote:
This patch replaces and updates 6 timer patches which are currently
in -mm tree. This version does not play games with __TIMER_PENDING
bit, so incremental patch is not suitable. It is against 2.6.12-rc1.
On Fri, 1 Apr 2005, Andrew Morton wrote:
Sure. Christoph and (I think) Ken have been seeing mysterious misbehaviour
which _might_ be due to Oleg's first round of timer patches. I assume CK
will test this new patch?
Yes will be tested. The hangs disappeared here when we removed Oleg's
Linus Torvalds [EMAIL PROTECTED] wrote:
On Fri, 1 Apr 2005, Oleg Nesterov wrote:
This patch replaces and updates 6 timer patches which are currently
in -mm tree. This version does not play games with __TIMER_PENDING
bit, so incremental patch is not suitable. It is against 2.6.12-rc1.
26 matches
Mail list logo