Re: [PATCH][RFC] Handle improbable possibility of io_context->refcount overflow

Andrew Morton
2009-04-29T08:01:32Z

On Wed, 29 Apr 2009 12:21:39 +0530 Nikanth Karthikesan <knikanth@novell.com> wrote:

> Hi Jens
>
> Currently io_context has an atomic_t(int) as refcount. In case of cfq, for
> each device a task does I/O, a reference to the io_context would be taken. And
> when there are multiple process sharing io_contexts(CLONE_IO) would also have
> a reference to the same io_context. Theoretically the possible maximum number
> of processes sharing the same io_context + the number of disks/cfq_data
> referring to the same io_context can overflow the 32-bit counter on a very
> high-end machine. Even though it is an improbable case, let us make it
> difficult by changing the refcount to atomic64_t(long).
>

Sorry, atomic64_t isn't implemented on 32 bit architectures.

Perhaps it should be, but I expect it'd be pretty slow.