From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: lkml <linux-kernel@vger.kernel.org>,
netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org
Cc: "dmonakhov@sw.ru" <DmitryMonakhov@2ka.mipt.ru>
Subject: Re: [3/4] DST: Network state machine.
Date: Fri, 14 Dec 2007 09:35:58 +0300 [thread overview]
Message-ID: <20071214063558.GA12017@2ka.mipt.ru> (raw)
In-Reply-To: <20071213204343.GC27398@dmon-lap.sw.ru>
On Thu, Dec 13, 2007 at 11:43:43PM +0300, Dmitry Monakhov (dmonakhov@sw.ru) wrote:
> On 14:47 Mon 10 Dec , Evgeniy Polyakov wrote:
> >
> > Network state machine.
> >
> > Includes network async processing state machine and related tasks.
> Hi, I've tried to play a little bit with DST and discover huge memory
> leak. Every read request from remote node result in bio + bio's pages leak.
>
> Data flow:
> ->kst_export_ready ## prepare and submit bio
> ->generic_make_request(bio) ## submit it
>
> ->kst_export_read_end_io ## block layer call bio_end_io callback
>
> ->kst_thread_process_state ## process ready requests
> ->kst_data_callback
> ->kst_data_process_bio ## submit pages to network layer
> ->kst_complete_req
> ->kst_bio_endio
> ->kst_export_read_end_io ## WoW we calling the same bio_end_io
> ## callback twice
> ->dst_free_request(req); ## request will be destroyed but it's bio
> ## and all bio's pages wasn't released.
> We may release bio's pages after it was sent to network, it is safe because
> sendpage() already called get_page(). I've attached simple patch which
> this this.
Yes, your patch looks good.
Thanks a lot, Dmitry.
--
Evgeniy Polyakov
next prev parent reply other threads:[~2007-12-14 6:36 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <11qqqasdzxczc036@2ka.mipt.ru>
2007-12-10 11:47 ` [0/4] DST: Distributed storage Evgeniy Polyakov
2007-12-10 11:47 ` [1/4] DST: Distributed storage documentation Evgeniy Polyakov
2007-12-10 11:47 ` [2/4] DST: Core distributed storage files Evgeniy Polyakov
2007-12-10 11:47 ` [3/4] DST: Network state machine Evgeniy Polyakov
2007-12-10 11:47 ` [4/4] DST: Algorithms used in distributed storage Evgeniy Polyakov
2007-12-12 9:12 ` Dmitry Monakhov
2007-12-12 10:20 ` Evgeniy Polyakov
2007-12-13 20:43 ` [3/4] DST: Network state machine Dmitry Monakhov
2007-12-14 6:35 ` Evgeniy Polyakov [this message]
2007-12-10 12:51 ` [1/4] DST: Distributed storage documentation Kay Sievers
2007-12-10 12:58 ` Evgeniy Polyakov
2007-12-10 14:31 ` Kay Sievers
2007-12-10 14:50 ` Evgeniy Polyakov
2007-12-10 15:12 ` Evgeniy Polyakov
2007-12-10 19:02 ` Kay Sievers
2007-12-10 19:33 ` Evgeniy Polyakov
2007-12-10 19:44 ` Kay Sievers
2007-12-10 19:51 ` Evgeniy Polyakov
2007-12-10 19:56 ` Kay Sievers
2007-12-10 20:03 ` Evgeniy Polyakov
2008-01-22 19:38 [2/4] DST: Core distributed storage files Evgeniy Polyakov
2008-01-22 19:38 ` [3/4] DST: Network state machine Evgeniy Polyakov
-- strict thread matches above, loose matches on Subject: below --
2007-12-26 11:22 [2/4] DST: Core distributed storage files Evgeniy Polyakov
2007-12-26 11:22 ` [3/4] DST: Network state machine Evgeniy Polyakov
2007-12-17 15:03 [2/4] DST: Core distributed storage files Evgeniy Polyakov
2007-12-17 15:03 ` [3/4] DST: Network state machine Evgeniy Polyakov
2007-12-04 14:37 [2/4] DST: Core distributed storage files Evgeniy Polyakov
2007-12-04 14:37 ` [3/4] DST: Network state machine Evgeniy Polyakov
2007-11-29 12:53 [2/4] dst: Core distributed storage files Evgeniy Polyakov
2007-11-29 12:53 ` [3/4] dst: Network state machine Evgeniy Polyakov
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=20071214063558.GA12017@2ka.mipt.ru \
--to=johnpol@2ka.mipt.ru \
--cc=DmitryMonakhov@2ka.mipt.ru \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.