* [LTP] [RFC PATCH] tst_checkpoint_destroy @ 2015-05-25 8:09 Stanislav Kholmanskikh 2015-05-25 8:51 ` Cyril Hrubis 0 siblings, 1 reply; 8+ messages in thread From: Stanislav Kholmanskikh @ 2015-05-25 8:09 UTC (permalink / raw) To: ltp-list; +Cc: vasily.isaenko Hi. As of now, if we run test cases which use the tst_checkpoint framework on NFS, they will fail with errors like: creat07 0 TWARN : tst_tmpdir.c:206: tst_rmdir: rmobj(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed: remove(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed; errno=66: Directory not empty This happens because we keep the futex page mapped while tst_rmdir() is running. So on we need to unmap the page before tst_rmdir(). What do you think about the proposed solution? Thanks. Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> --- include/tst_checkpoint.h | 9 +++++++++ lib/tst_checkpoint.c | 19 ++++++++++++++++++- testcases/kernel/syscalls/creat/creat07.c | 2 ++ 3 files changed, 29 insertions(+), 1 deletions(-) diff --git a/include/tst_checkpoint.h b/include/tst_checkpoint.h index e6b8100..95a82b4 100644 --- a/include/tst_checkpoint.h +++ b/include/tst_checkpoint.h @@ -48,7 +48,16 @@ void tst_checkpoint_init(const char *file, const int lineno, void (*cleanup_fn)(void)); +/* + * Destroy the checkpoint. + * + * Call it once you are done with the syncronization. + */ +#define TST_CHECKPOINT_DESTROY(cleanup_fn) \ + tst_checkpoint_destroy(__FILE__, __LINE__, cleanup_fn) +void tst_checkpoint_destroy(const char *file, const int lineno, + void (*cleanup_fn)(void)); /* * Waits for wakeup. diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c index 79e49ac..2957f33 100644 --- a/lib/tst_checkpoint.c +++ b/lib/tst_checkpoint.c @@ -31,6 +31,7 @@ #include "safe_macros.h" #define DEFAULT_MSEC_TIMEOUT 10000 +#define CHECKPOINT_BASE_FILE "checkpoint_futex_base_file" typedef volatile uint32_t futex_t; @@ -67,7 +68,7 @@ void tst_checkpoint_init(const char *file, const int lineno, page_size = getpagesize(); - fd = SAFE_OPEN(cleanup_fn, "checkpoint_futex_base_file", + fd = SAFE_OPEN(cleanup_fn, CHECKPOINT_BASE_FILE, O_RDWR | O_CREAT, 0666); SAFE_FTRUNCATE(cleanup_fn, fd, page_size); @@ -78,6 +79,22 @@ void tst_checkpoint_init(const char *file, const int lineno, SAFE_CLOSE(cleanup_fn, fd); } +void tst_checkpoint_destroy(const char *file, const int lineno, + void (*cleanup_fn)(void)) +{ + if (!futexes || !page_size) { + tst_brkm(TBROK, cleanup_fn, + "%s: %d checkpoints are not initialized", + file, lineno); + } + + SAFE_MUNMAP(cleanup_fn, (void *)futexes, page_size); + + futexes = NULL; + + SAFE_UNLINK(cleanup_fn, CHECKPOINT_BASE_FILE); +} + int tst_checkpoint_wait(unsigned int id, unsigned int msec_timeout) { struct timespec timeout; diff --git a/testcases/kernel/syscalls/creat/creat07.c b/testcases/kernel/syscalls/creat/creat07.c index c3cbd37..7b67d73 100644 --- a/testcases/kernel/syscalls/creat/creat07.c +++ b/testcases/kernel/syscalls/creat/creat07.c @@ -106,5 +106,7 @@ static void setup(void) static void cleanup(void) { + TST_CHECKPOINT_DESTROY(NULL); + tst_rmdir(); } -- 1.7.1 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [LTP] [RFC PATCH] tst_checkpoint_destroy 2015-05-25 8:09 [LTP] [RFC PATCH] tst_checkpoint_destroy Stanislav Kholmanskikh @ 2015-05-25 8:51 ` Cyril Hrubis [not found] ` <55642D9D.6050707@oracle.com> 0 siblings, 1 reply; 8+ messages in thread From: Cyril Hrubis @ 2015-05-25 8:51 UTC (permalink / raw) To: Stanislav Kholmanskikh; +Cc: vasily.isaenko, ltp-list Hi! > As of now, if we run test cases which use the tst_checkpoint framework on NFS, > they will fail with errors like: > > creat07 0 TWARN : tst_tmpdir.c:206: tst_rmdir: rmobj(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed: remove(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed; errno=66: Directory not empty > > This happens because we keep the futex page mapped while tst_rmdir() is running. > > So on we need to unmap the page before tst_rmdir(). > > What do you think about the proposed solution? Why don't we hide this from user and unmap() the file in the tst_rmdir() if checkpoint was initialized? Otherwise I'm all for this fix. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <55642D9D.6050707@oracle.com>]
* Re: [LTP] [RFC PATCH] tst_checkpoint_destroy [not found] ` <55642D9D.6050707@oracle.com> @ 2015-05-26 8:40 ` Cyril Hrubis 2015-05-26 9:16 ` [LTP] [PATCH 1/2] Move futex_t into a common header Stanislav Kholmanskikh 0 siblings, 1 reply; 8+ messages in thread From: Cyril Hrubis @ 2015-05-26 8:40 UTC (permalink / raw) To: Stanislav Kholmanskikh; +Cc: vasily.isaenko, ltp-list Hi! > Ok, we can do it this way. > > One question regarding the typedef of futex_t. As of now the futex_t > type is defined in two places: > * testcases/kernel/syscalls/futex/futextest.h > * lib/tst_checkpoint.h > > If I put unmap() in tst_rmdir(), I will add futex_t to tst_tmpdir.c > either, so it will be the third occurrence. > > It seems it would be good to move the typedef of futex_t into a common > header. > > I'm unsure which one to use :) Or just create include/lapi/futex.h? Header in lapi sounds good, I should have probably done so when I was rewriting the checkpoint interface. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH 1/2] Move futex_t into a common header 2015-05-26 8:40 ` Cyril Hrubis @ 2015-05-26 9:16 ` Stanislav Kholmanskikh 2015-05-26 9:16 ` [LTP] [PATCH 2/2] Unmap the futexes backend file in tst_rmdir Stanislav Kholmanskikh 0 siblings, 1 reply; 8+ messages in thread From: Stanislav Kholmanskikh @ 2015-05-26 9:16 UTC (permalink / raw) To: ltp-list; +Cc: vasily.isaenko Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> --- include/lapi/futex.h | 24 ++++++++++++++++++++++++ lib/tst_checkpoint.c | 3 +-- testcases/kernel/syscalls/futex/futextest.h | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 include/lapi/futex.h diff --git a/include/lapi/futex.h b/include/lapi/futex.h new file mode 100644 index 0000000..ac4036b --- /dev/null +++ b/include/lapi/futex.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2015 Linux Test Project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it would be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef LAPI_FUTEX_H__ +#define LAPI_FUTEX_H__ + +typedef volatile uint32_t futex_t; + +#endif /* LAPI_FUTEX_H__ */ diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c index 79e49ac..0e2c402 100644 --- a/lib/tst_checkpoint.c +++ b/lib/tst_checkpoint.c @@ -29,11 +29,10 @@ #include "test.h" #include "safe_macros.h" +#include "lapi/futex.h" #define DEFAULT_MSEC_TIMEOUT 10000 -typedef volatile uint32_t futex_t; - static futex_t *futexes; static int page_size; diff --git a/testcases/kernel/syscalls/futex/futextest.h b/testcases/kernel/syscalls/futex/futextest.h index 1e9713d..5754d36 100644 --- a/testcases/kernel/syscalls/futex/futextest.h +++ b/testcases/kernel/syscalls/futex/futextest.h @@ -38,8 +38,8 @@ #include <sys/syscall.h> #include <sys/types.h> #include <linux/futex.h> +#include "lapi/futex.h" -typedef volatile u_int32_t futex_t; #define FUTEX_INITIALIZER 0 #ifndef FUTEX_CMP_REQUEUE -- 1.7.1 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [LTP] [PATCH 2/2] Unmap the futexes backend file in tst_rmdir 2015-05-26 9:16 ` [LTP] [PATCH 1/2] Move futex_t into a common header Stanislav Kholmanskikh @ 2015-05-26 9:16 ` Stanislav Kholmanskikh 2015-05-26 9:58 ` Cyril Hrubis 0 siblings, 1 reply; 8+ messages in thread From: Stanislav Kholmanskikh @ 2015-05-26 9:16 UTC (permalink / raw) To: ltp-list; +Cc: vasily.isaenko As of now, test cases utilizing tst_checkpoint framework fail on NFS with similar errors: creat07 0 TWARN : tst_tmpdir.c:206: tst_rmdir: rmobj(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed: remove(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed; errno=66: Directory not empty This happens because we keep the futex page mapped while tst_rmdir() is running. Let's unmap it before the actual delete procedure. Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> --- lib/tst_checkpoint.c | 2 +- lib/tst_tmpdir.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletions(-) diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c index 0e2c402..36eeff2 100644 --- a/lib/tst_checkpoint.c +++ b/lib/tst_checkpoint.c @@ -33,7 +33,7 @@ #define DEFAULT_MSEC_TIMEOUT 10000 -static futex_t *futexes; +futex_t *futexes; static int page_size; void tst_checkpoint_init(const char *file, const int lineno, diff --git a/lib/tst_tmpdir.c b/lib/tst_tmpdir.c index dd82f35..6a6c0c0 100644 --- a/lib/tst_tmpdir.c +++ b/lib/tst_tmpdir.c @@ -57,6 +57,7 @@ * *********************************************************/ +#include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <assert.h> @@ -70,6 +71,7 @@ #include "test.h" #include "rmobj.h" #include "ltp_priv.h" +#include "lapi/futex.h" /* * Define some useful macros. @@ -97,6 +99,8 @@ static char *TESTDIR = NULL; /* the directory created */ static char test_start_work_dir[PATH_MAX]; +/* lib/tst_checkpoint.c */ +extern futex_t *futexes; int tst_tmpdir_created(void) { @@ -199,6 +203,13 @@ void tst_rmdir(void) } /* + * Unmap the backend file. + * This is needed to overcome the NFS "silly rename" feature. + */ + if (futexes) + munmap((void *)futexes, getpagesize()); + + /* * Attempt to remove the "TESTDIR" directory, using rmobj(). */ if (rmobj(TESTDIR, &errmsg) == -1) { -- 1.7.1 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH 2/2] Unmap the futexes backend file in tst_rmdir 2015-05-26 9:16 ` [LTP] [PATCH 2/2] Unmap the futexes backend file in tst_rmdir Stanislav Kholmanskikh @ 2015-05-26 9:58 ` Cyril Hrubis 2015-05-26 10:21 ` [LTP] [PATCH V2 " Stanislav Kholmanskikh 0 siblings, 1 reply; 8+ messages in thread From: Cyril Hrubis @ 2015-05-26 9:58 UTC (permalink / raw) To: Stanislav Kholmanskikh; +Cc: vasily.isaenko, ltp-list Hi! > As of now, test cases utilizing tst_checkpoint framework fail on NFS > with similar errors: > > creat07 0 TWARN : tst_tmpdir.c:206: tst_rmdir: rmobj(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed: remove(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed; errno=66: Directory not empty > > This happens because we keep the futex page mapped while tst_rmdir() is running. > > Let's unmap it before the actual delete procedure. > > Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> > --- > lib/tst_checkpoint.c | 2 +- > lib/tst_tmpdir.c | 11 +++++++++++ > 2 files changed, 12 insertions(+), 1 deletions(-) > > diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c > index 0e2c402..36eeff2 100644 > --- a/lib/tst_checkpoint.c > +++ b/lib/tst_checkpoint.c > @@ -33,7 +33,7 @@ > > #define DEFAULT_MSEC_TIMEOUT 10000 > > -static futex_t *futexes; > +futex_t *futexes; > static int page_size; Now that futexes is a global symbol we should prefix it with tst_ to avoid clashes with testcase defined symbols. Otherwise it looks good. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 8+ messages in thread
* [LTP] [PATCH V2 2/2] Unmap the futexes backend file in tst_rmdir 2015-05-26 9:58 ` Cyril Hrubis @ 2015-05-26 10:21 ` Stanislav Kholmanskikh 2015-05-27 14:04 ` Stanislav Kholmanskikh 0 siblings, 1 reply; 8+ messages in thread From: Stanislav Kholmanskikh @ 2015-05-26 10:21 UTC (permalink / raw) To: ltp-list; +Cc: vasily.isaenko As of now, test cases utilizing tst_checkpoint framework fail on NFS with similar errors: creat07 0 TWARN : tst_tmpdir.c:206: tst_rmdir: rmobj(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed: remove(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed; errno=66: Directory not empty This happens because we keep the futex page mapped while tst_rmdir() is running. Let's unmap it before the actual delete procedure. Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> --- Changes since V1: * renamed 'futex_t *futexes' to 'futex_t *tst_futexes' lib/tst_checkpoint.c | 12 +++++++----- lib/tst_tmpdir.c | 11 +++++++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/tst_checkpoint.c b/lib/tst_checkpoint.c index 0e2c402..a2c9563 100644 --- a/lib/tst_checkpoint.c +++ b/lib/tst_checkpoint.c @@ -33,7 +33,7 @@ #define DEFAULT_MSEC_TIMEOUT 10000 -static futex_t *futexes; +futex_t *tst_futexes; static int page_size; void tst_checkpoint_init(const char *file, const int lineno, @@ -41,7 +41,7 @@ void tst_checkpoint_init(const char *file, const int lineno, { int fd; - if (futexes) { + if (tst_futexes) { tst_brkm(TBROK, cleanup_fn, "%s: %d checkopoints allready initialized", file, lineno); @@ -71,7 +71,7 @@ void tst_checkpoint_init(const char *file, const int lineno, SAFE_FTRUNCATE(cleanup_fn, fd, page_size); - futexes = SAFE_MMAP(cleanup_fn, NULL, page_size, + tst_futexes = SAFE_MMAP(cleanup_fn, NULL, page_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); SAFE_CLOSE(cleanup_fn, fd); @@ -89,7 +89,8 @@ int tst_checkpoint_wait(unsigned int id, unsigned int msec_timeout) timeout.tv_sec = msec_timeout/1000; timeout.tv_nsec = (msec_timeout%1000) * 1000000; - return syscall(SYS_futex, &futexes[id], FUTEX_WAIT, futexes[id], &timeout); + return syscall(SYS_futex, &tst_futexes[id], FUTEX_WAIT, + tst_futexes[id], &timeout); } int tst_checkpoint_wake(unsigned int id, unsigned int nr_wake, @@ -103,7 +104,8 @@ int tst_checkpoint_wake(unsigned int id, unsigned int nr_wake, } do { - waked += syscall(SYS_futex, &futexes[id], FUTEX_WAKE, INT_MAX, NULL); + waked += syscall(SYS_futex, &tst_futexes[id], FUTEX_WAKE, + INT_MAX, NULL); usleep(1000); msecs++; diff --git a/lib/tst_tmpdir.c b/lib/tst_tmpdir.c index dd82f35..f4f3b30 100644 --- a/lib/tst_tmpdir.c +++ b/lib/tst_tmpdir.c @@ -57,6 +57,7 @@ * *********************************************************/ +#include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <assert.h> @@ -70,6 +71,7 @@ #include "test.h" #include "rmobj.h" #include "ltp_priv.h" +#include "lapi/futex.h" /* * Define some useful macros. @@ -97,6 +99,8 @@ static char *TESTDIR = NULL; /* the directory created */ static char test_start_work_dir[PATH_MAX]; +/* lib/tst_checkpoint.c */ +extern futex_t *tst_futexes; int tst_tmpdir_created(void) { @@ -199,6 +203,13 @@ void tst_rmdir(void) } /* + * Unmap the backend file. + * This is needed to overcome the NFS "silly rename" feature. + */ + if (tst_futexes) + munmap((void *)tst_futexes, getpagesize()); + + /* * Attempt to remove the "TESTDIR" directory, using rmobj(). */ if (rmobj(TESTDIR, &errmsg) == -1) { -- 1.7.1 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH V2 2/2] Unmap the futexes backend file in tst_rmdir 2015-05-26 10:21 ` [LTP] [PATCH V2 " Stanislav Kholmanskikh @ 2015-05-27 14:04 ` Stanislav Kholmanskikh 0 siblings, 0 replies; 8+ messages in thread From: Stanislav Kholmanskikh @ 2015-05-27 14:04 UTC (permalink / raw) To: ltp-list; +Cc: vasily.isaenko On 05/26/2015 01:21 PM, Stanislav Kholmanskikh wrote: > As of now, test cases utilizing tst_checkpoint framework fail on NFS > with similar errors: > > creat07 0 TWARN : tst_tmpdir.c:206: tst_rmdir: rmobj(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed: remove(/tmpdir/ltp-0IVQPP0NK6/creigi0kV) failed; errno=66: Directory not empty > > This happens because we keep the futex page mapped while tst_rmdir() is running. > > Let's unmap it before the actual delete procedure. > > Signed-off-by: Stanislav Kholmanskikh <stanislav.kholmanskikh@oracle.com> > --- > Changes since V1: > * renamed 'futex_t *futexes' to 'futex_t *tst_futexes' Pushed this patch and "[PATCH 1/2] Move futex_t into a common header". Thanks. ------------------------------------------------------------------------------ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-05-27 14:04 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-25 8:09 [LTP] [RFC PATCH] tst_checkpoint_destroy Stanislav Kholmanskikh
2015-05-25 8:51 ` Cyril Hrubis
[not found] ` <55642D9D.6050707@oracle.com>
2015-05-26 8:40 ` Cyril Hrubis
2015-05-26 9:16 ` [LTP] [PATCH 1/2] Move futex_t into a common header Stanislav Kholmanskikh
2015-05-26 9:16 ` [LTP] [PATCH 2/2] Unmap the futexes backend file in tst_rmdir Stanislav Kholmanskikh
2015-05-26 9:58 ` Cyril Hrubis
2015-05-26 10:21 ` [LTP] [PATCH V2 " Stanislav Kholmanskikh
2015-05-27 14:04 ` Stanislav Kholmanskikh
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox